aiohttp: File descriptor exhaustion in multipart requests
Summary
aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. From 2.0.0 until 3.14.4, multipart request processing can retain an unbounded number of open file descriptors. An unauthenticated remote attacker can exhaust file descriptors with specially crafted multipart requests, causing a denial of service, when an application handler uses Request.post().
Affected
- aio-libs aiohttp from 2.0.0 up to but not including 3.14.4
- Only server applications whose handlers call Request.post() are affected; client-only use is not affected
Fixed in
- aiohttp 3.14.4 or later
- Fix commit 2d94633b7f1b4c1ba07d647b629a8440652b2d09
Workaround
- Unknown. No vendor-documented workaround was found. Upgrading to 3.14.4 or later is the fix.
Exploitation
- No known exploitation in the wild and no public proof of concept at the time of research (1 Nov 2026).
- CISA SSVC: exploitation none, not automatable, partial technical impact.
- EPSS score 0.00412 (SUSE listing).
- CISA KEV catalogue and NVD analysis not yet verified (NVD status: Undergoing Analysis).
Our recommendation
- Inventory Python services that use aiohttp server features and call Request.post().
- Upgrade these services to aiohttp 3.14.4 or later, prioritising internet-facing services.
- Until patched, limit request body sizes at a reverse proxy and monitor open file descriptors on affected processes.
- Check NVD and the CISA KEV catalogue before closing the item.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- aiohttp release 3.14.4 github.com
- GitHub Security Advisory GHSA-9xw5-w5jj-pvcg github.com
- Fix commit 2d94633b7f1b4c1ba07d647b629a8440652b2d09 github.com
- OSV GHSA-9xw5-w5jj-pvcg osv.dev
- GitLab Advisory CVE-2026-111066 advisories.gitlab.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 15:43.
Original description (NVD)
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. From 2.0.0 until 3.14.4, multipart request processing can retain an unbounded number of open file descriptors. An unauthenticated attacker can consequently exhaust file descriptors with specially crafted multipart requests when a handler uses Request.post(). This issue is fixed in version 3.14.4.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
