# CVE-2026-64847: AnyIO process-pool workers indefinite blocking on undrained stderr

Source: https://junglewise.ai/threats/cve-2026-64847-anyio-process-pool-workers-indefinite-blocking-on-undrained  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-18. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-64847 · Severity: medium · CVSS 4 · Published 2026-09-18

AnyIO is an async I/O library used for concurrent task execution across multiple processes. The library's process-pool feature fails to properly drain the standard error stream in worker processes, allowing stderr buffers to fill up and block indefinitely. An attacker or faulty code that writes large amounts of data to stderr can cause the entire process pool to hang, resulting in service unavailability and denial of service.

Technologies: [anyio (PyPI)](https://junglewise.ai/threats/technologies/anyio). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2026-64847 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-64847 being exploited in the wild.

**How severe is CVE-2026-64847?** Medium severity, with a CVSS score of 4, published 18 September 2026.

**Which products and versions are affected?** anyio (PyPI) < 4.14.2, ECOSYSTEM:introduced=0,fixed=4.14.2.

**Is there a fix for CVE-2026-64847?** Yes. anyio (PyPI): upgrade to 4.14.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-64847 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-64847?** Check whether you run anyio (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- anyio (PyPI): upgrade to 4.14.2 or later

  ```sh
  pip install "anyio>=4.14.2"
  ```


## Technical details

The vulnerability is a resource exhaustion issue (CWE-770) in AnyIO's process-pool worker initialization. AnyIO redirects stdin and stdout to /dev/null for protocol protection but fails to drain the stderr pipe despite documentation claiming all three standard streams are redirected. When untrusted code or a malicious actor writes sufficient data to stderr, the pipe buffer fills completely, causing the worker to block on subsequent stderr writes before it can return the stdout protocol response. This blocks the awaiting process-pool call indefinitely. Exploitation requires the ability to execute code in the process pool (low privilege requirement, local attack vector). The fix is available in version 4.14.2.

## Affected products

- agronholm AnyIO < 4.14.2

## Identifiers

- CVE-2026-64847
- GHSA-5p39-cfhj-2xmp
- PYSEC-2026-4024

## Timeline

- 2026-07-07: disclosed
- 2026-09-18: advisory
- 2026-09-18: patched: Version 4.14.2 released

## References

- [https://github.com/agronholm/anyio/security/advisories/GHSA-5p39-cfhj-2xmp](https://github.com/agronholm/anyio/security/advisories/GHSA-5p39-cfhj-2xmp)

## Related threats

- [AnyIO TLSStream IDNA 2003 host name encoding certificate spoofing](https://junglewise.ai/threats/cve-2026-63374-anyio-tlsstream-idna-2003-host-name-encoding-certificate-spoofing)
- [AnyIO run_process/open_process privilege dropping bug with extra_groups](https://junglewise.ai/threats/cve-2026-63349-anyio-run-process-open-process-privilege-dropping-bug-with-extra)
