Jan 6, 2026·5 min read·11 visits
The `aiohttp` library forgot to persist the total request size counter across multipart fields. By sending a request with thousands of small parts, an attacker can bypass the global `client_max_size` limit, forcing the server to buffer gigabytes of data until it crashes.
A critical logic error in aiohttp's multipart parsing allows attackers to bypass body size limits by resetting the byte counter for every form field, leading to trivial DoS.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U| Product | Affected Versions | Fixed Version |
|---|---|---|
aiohttp aio-libs | <= 3.13.2 | 3.13.3 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-770 |
| Attack Vector | Network (HTTP) |
| CVSS v4.0 | 6.6 (Medium) |
| Impact | Denial of Service (Memory Exhaustion) |
| Exploit Status | Trivial / PoC Available |
| Fix Version | 3.13.3 |
Allocation of Resources Without Limits or Throttling