
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-64847 is a denial-of-service vulnerability in AnyIO, a high-level asynchronous concurrency and networking framework for Python, titled "AnyIO process-pool workers can block indefinitely on undrained stderr." It affects all versions of the anyio pip package prior to 4.14.2. The vulnerability was originally published on July 7, 2026, and added to the GitHub Advisory Database on September 18, 2026. It carries a CVSS v4.0 base score of 6.8 (Medium) (Github Advisory).
The root cause is classified as CWE-770 (Allocation of Resources Without Limits or Throttling). AnyIO's to_process.run_sync() spawns process-pool worker subprocesses with stderr connected to a pipe, but the parent process never drains that pipe. While the worker correctly redirects stdin and stdout to /dev/null to protect its IPC protocol, stderr is left connected to the undrained pipe — contradicting the documented behavior that all three standard streams are redirected. If worker code writes enough data to sys.stderr (e.g., more than the typical 64 KiB OS pipe buffer), the write blocks, preventing the worker from ever sending its stdout protocol response, which causes the awaiting to_process.run_sync() call in the parent to hang indefinitely. The fix, applied in commit f1b7301, adds a single line redirecting sys.stderr to os.devnull within the worker process (Github PR #1207, Github Commit).
Successful exploitation causes an indefinite deadlock in the affected process-pool worker and the awaiting coroutine, resulting in a denial of service against the application's availability. There is no impact on confidentiality or integrity — the vulnerability is purely an availability issue. Applications that execute untrusted or faulty worker code capable of generating substantial stderr output are most at risk, as a blocked worker can exhaust the process pool and render the application unresponsive (Github Advisory).
No public proof-of-concept exploit code or in-the-wild exploitation has been reported. The EPSS score is 0.0, and the NVD SSVC assessment classifies exploitation as "none" and the vulnerability as not automatable (Github Advisory). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires local access and low privileges — specifically, the ability to supply or influence worker code that writes large volumes of data to sys.stderr.
to_process.run_sync() with worker functions whose stderr output can be influenced by attacker-controlled input.sys.stderr. For example, a payload such as sys.stderr.write('x' * 1024 * 1024); sys.stderr.flush() within the worker function would suffice.to_process.run_sync() with the crafted or influenced worker function, either by submitting malicious input or exploiting a code path that passes attacker-influenced data to stderr.run_sync() awaitable to hang indefinitely, effectively deadlocking that worker slot.to_process.run_sync() with no timeout.to_process.run_sync() calls that never return or time out; absence of expected task completion log entries from process-pool workers./proc/<pid>/fd on Linux).Upgrade the anyio pip package to version 4.14.2 or later, which redirects sys.stderr to os.devnull in worker processes, matching the documented behavior and eliminating the deadlock (Github Release 4.14.2). As a temporary workaround for those unable to upgrade immediately, explicitly closing sys.stderr at the start of the target function passed to to_process.run_sync() will prevent the deadlock by ensuring writes do not block on the pipe (Github Advisory). Additionally, avoid passing untrusted or unvalidated code as worker functions to to_process.run_sync() until the patch is applied.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."