CVE-2026-64847
MediumCVSS 6.8Exploitation Probability (EPSS)
Low risk4th percentile - higher than 4% of all known CVEs
Summary
In AnyIO prior to 4.14.2, process-pool workers were started with stderr connected to a pipe the parent never drained. Worker code writing enough data to sys.stderr could fill the pipe and block before returning the response, causing the awaiting process-pool call to remain blocked indefinitely.
Risk Assessment
Applications running untrusted or faulty worker code may experience permanent hangs of process-pool operations, leading to denial of service.
Recommendation
Upgrade AnyIO to version 4.14.2 or later, which properly handles worker standard streams.
Other vulnerabilities in AnyIO
See all- CVE-2026-63374Critical
AnyIO is a high level asynchronous concurrency and networking framework that works on top of either Trio or asyncio. Prior to 4.14.2, connect_tcp() and TLSStream.wrap() can validate internationalized host names after the standard library converts them with IDNA 2003 instead of IDNA 2008. When a connection to a non-ASCII domain is hijacked or redirected, an attacker can obtain a legitimate certificate for the different ASCII hostname produced by IDNA 2003 and present it to the client, causing the malicious endpoint's certificate to validate.
- CVE-2026-63349High
In AnyIO 4.14.0, open_process() forwards the group argument to the backend instead of extra_groups, despite accepting the extra_groups parameter. A call with extra_groups=[] to clear inherited supplementary groups can launch a child process that retains the parent's groups, weakening a privilege-dropping boundary. This affects POSIX applications using AnyIO subprocess helpers and is fixed in version 4.14.2.
Original NVD description (English source)
AnyIO is a high level asynchronous concurrency and networking framework that works on top of either Trio or asyncio. Prior to 4.14.2, AnyIO starts process-pool workers with standard error connected to a pipe that the parent never drains, even though the documented behavior redirects all three standard streams. Worker code that writes enough attacker-influenced data to sys.stderr can fill the pipe and block before returning the standard-output protocol response, causing the awaiting process-pool call to remain blocked indefinitely. Applications that run untrusted or faulty worker code capable of producing substantial standard-error output are affected. This issue is fixed in version 4.14.2.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

