Résumé
AnyIO process-pool workers can block indefinitely on undrained stderr
Détails de l’avis
Impact
AnyIO starts process-pool workers with stderr connected to a pipe but never drains that pipe. The worker redirects stdin and stdout to /dev/null to protect its protocol, but does not redirect stderr even though the documentation says all three standard streams are redirected. Worker code that writes enough attacker-influenced data to stderr can fill the pipe, block before returning the stdout protocol response, and wedge the awaiting process-pool call.
Anyone who runs untrusted or faulty code that writes too much to stderr is at risk.
Patches
This vulnerability will be patched in v4.14.2.
Workarounds
Closing sys.stderr in the target function should at least prevent the deadlock.
Références
- https://github.com/advisories/GHSA-5p39-cfhj-2xmp
- https://github.com/agronholm/anyio/security/advisories/GHSA-5p39-cfhj-2xmp
- https://github.com/agronholm/anyio/pull/1207
- https://github.com/agronholm/anyio/commit/f1b7301c8264b0d2e8d24a5788fd29e93dea4040
- https://github.com/agronholm/anyio/releases/tag/4.14.2
Vulnérabilités liées
Tout Supply chain →- MEDIUMCVE-2026-102682
Pipecat: Public exposure of Pipecat’s development runner can allow unauthenticated bot session creation
- MEDIUMCVE-2026-100350
kin-openapi deepObject query decoding repeatedly compiles an invariant regular expression
- MEDIUMCVE-2026-59951
MCP Python SDK: Unbounded Session Accumulation in StreamableHTTP Transport Enables Resource Exhaustion
- HIGHCVE-2026-104827
react/http: Unbounded HTTP Client Response Header Buffering Leads to Memory Exhaustion DoS
- HIGHCVE-2026-77622
Sliver: Unauthenticated Memory Exhaustion Denial of Service in Sliver HTTP(S) Listener PNG Decoder
- HIGHCVE-2026-72923
Microsoft.OpenApi.YamlReader vulnerable to denial of service via YAML alias expansion