# CVE-2026-64847: AnyIO process-pool workers can block indefinitely on undrained stderr

> CVE-2026-64847 (GitHub advisory GHSA-5p39-cfhj-2xmp) is a medium-severity vulnerability with a CVSS 4.0 base score of 6.8, classed as Allocation of Resources Without Limits or Throttling (CWE-770), in anyio (PyPI). Affected versions: < 4.14.2. It is fixed in 4.14.2.

Canonical page: https://cveminer.com/vulnerabilities/CVE-2026-64847

| Field | Value |
| --- | --- |
| CVE | CVE-2026-64847 |
| GHSA | GHSA-5p39-cfhj-2xmp |
| Severity | Medium |
| CVSS 4.0 | 6.8 `CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N` (GitHub Advisory Database) |
| CWE | CWE-770 Allocation of Resources Without Limits or Throttling |
| EPSS | 0.12% (higher than 2% of CVEs) |
| CISA KEV | Not listed |
| SSVC | exploitation none, automatable no, technical impact partial |
| Published | 18 Sept 2026 |
| Modified | 18 Sept 2026 |

## Description

##### 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.

## Affected packages

| Package | Ecosystem | PURL | Vulnerable versions | Fixed in |
| --- | --- | --- | --- | --- |
| anyio | PyPI | `pkg:pypi/anyio` | < 4.14.2 | 4.14.2 |

## Fix commits

- Patch: https://github.com/agronholm/anyio/commit/f1b7301c8264b0d2e8d24a5788fd29e93dea4040
- Pull request: https://github.com/agronholm/anyio/pull/1207
- Release: https://github.com/agronholm/anyio/commit/c384f99687c64c59ed8a11c3a0f11a2d57daff71 (4.14.2)

## Questions

**What is the GHSA ID for CVE-2026-64847?**

GitHub tracks CVE-2026-64847 as GHSA-5p39-cfhj-2xmp.

**What is the CVSS score of CVE-2026-64847?**

CVE-2026-64847 has a CVSS 4.0 base score of 6.8 (Medium), vector CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N.

**Which versions are affected by CVE-2026-64847?**

anyio (PyPI): < 4.14.2.

**How do I fix CVE-2026-64847?**

Upgrade to 4.14.2 or later. The fix is in commit f1b7301 and pull request #1207.

**What is the Package URL (PURL) for CVE-2026-64847?**

The affected package's PURL is pkg:pypi/anyio.

**Is CVE-2026-64847 exploited in the wild?**

CISA's Known Exploited Vulnerabilities catalog doesn't list CVE-2026-64847. That means no confirmed exploitation has been catalogued, not that it is safe to leave unpatched. CISA's SSVC assessment rates exploitation as "none". EPSS estimates a 0.12% chance of exploitation in the next 30 days, higher than 2% of CVEs.

## References

- https://github.com/agronholm/anyio/pull/1207 (fix)
- https://github.com/agronholm/anyio/commit/f1b7301c8264b0d2e8d24a5788fd29e93dea4040 (fix)
- https://github.com/agronholm/anyio/security/advisories/GHSA-5p39-cfhj-2xmp (advisory)
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64847.json (advisory)
- https://nvd.nist.gov/vuln/detail/CVE-2026-64847 (advisory)
- https://github.com/advisories/GHSA-5p39-cfhj-2xmp (advisory)
- https://github.com/agronholm/anyio (package)
- https://github.com/agronholm/anyio/releases/tag/4.14.2

---

Source: CVEminer (https://cveminer.com/vulnerabilities/CVE-2026-64847), compiled from OSV (GitHub advisory), GitHub Advisory Database, OSV (CVE record), CVE.org, CISA KEV catalog. OSV and GitHub Advisory Database content is licensed CC BY 4.0.
