CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Dashboard
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2025-69228
6.6

Infinite Loop of Doom: Memory Exhaustion in AIOHTTP

Alon Barad
Alon Barad
Software Engineer

Jan 6, 2026·5 min read·11 visits

PoC Available

Executive Summary (TL;DR)

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.

Official Patches

aio-libsOfficial patch commit

Fix Analysis (1)

Technical Appendix

CVSS Score
6.6/ 10
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

Affected Systems

Python web applications using aiohttpMicroservices relying on aiohttp.web.Request.post()

Affected Versions Detail

Product
Affected Versions
Fixed Version
aiohttp
aio-libs
<= 3.13.23.13.3
AttributeDetail
CWE IDCWE-770
Attack VectorNetwork (HTTP)
CVSS v4.06.6 (Medium)
ImpactDenial of Service (Memory Exhaustion)
Exploit StatusTrivial / PoC Available
Fix Version3.13.3

MITRE ATT&CK Mapping

T1499.003Endpoint Denial of Service: Application Exhaustion
Impact
CWE-770
Allocation of Resources Without Limits or Throttling

Allocation of Resources Without Limits or Throttling

Known Exploits & Detection

HypotheticalSending multipart/form-data with 10k fields of size < client_max_size.

Vulnerability Timeline

Published
2026-01-06
Patch Released (v3.13.3)
2026-01-06

References & Sources

  • [1]GHSA Advisory
  • [2]NVD CVE Record

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.