CVE-2026-64847: AnyIO process-pool workers can block indefinitely on undrained stderr
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.
References
- github.com/advisories/GHSA-5p39-cfhj-2xmp
- github.com/agronholm/anyio/commit/f1b7301c8264b0d2e8d24a5788fd29e93dea4040
- github.com/agronholm/anyio/pull/1207
- github.com/agronholm/anyio/releases/tag/4.14.2
- github.com/agronholm/anyio/security/advisories/GHSA-5p39-cfhj-2xmp
- nvd.nist.gov/vuln/detail/CVE-2026-64847
Code Behaviors & Features
Detect and mitigate CVE-2026-64847 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →