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-69229
6.6

Death by a Thousand Chunks: The aiohttp O(N^2) DoS

Alon Barad
Alon Barad
Software Engineer

Jan 6, 2026·6 min read·25 visits

PoC Available

Executive Summary (TL;DR)

aiohttp used a standard Python list to track HTTP chunk offsets, using `pop(0)` to retrieve them. Since `pop(0)` is an O(N) operation, processing a request with N chunks resulted in O(N^2) complexity. An attacker sending a stream of 1-byte chunks can monopolize the CPU, blocking the event loop and denying service to all other clients.

A high-impact Denial of Service vulnerability in the aiohttp Python library caused by algorithmic complexity in handling HTTP chunked transfer encoding. By flooding the server with thousands of tiny chunks, an attacker can trigger quadratic CPU consumption, effectively freezing the asynchronous event loop.

Official Patches

aio-libsRelease notes for aiohttp 3.13.3
GitHub AdvisoryOfficial GHSA Advisory

Fix Analysis (2)

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

aiohttp <= 3.13.2

Affected Versions Detail

Product
Affected Versions
Fixed Version
aiohttp
aio-libs
<= 3.13.23.13.3
AttributeDetail
CWECWE-770 (Allocation of Resources Without Limits)
Attack VectorNetwork
CVSS v4.06.6 (Medium)
ComplexityO(N^2) Quadratic
ImpactDenial of Service (Event Loop Block)
StatusFixed in 3.13.3

MITRE ATT&CK Mapping

T1499Endpoint Denial of Service
Impact
T1499.003Application or System Exploitation
Impact
CWE-770
Allocation of Resources Without Limits or Throttling

The software allocates resources (memory, CPU) without limits or throttling based on the quantity of input metadata, allowing an attacker to cause resource exhaustion.

Known Exploits & Detection

Internal ResearchNo public exploit code released yet, but trivial to reconstruct.

Vulnerability Timeline

Fix development started
2025-10-28
Patches merged into master
2026-01-03
Advisory Published
2026-01-05

References & Sources

  • [1]GHSA-g84x-mcqj-x9qq
  • [2]Python Collections: Deque vs List

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.