Executive brief
AIOHTTP is a popular Python library used to build web servers and clients. A flaw in how it handles multiple simultaneous requests over a single connection allows an attacker to send a massive backlog of data that the server cannot process quickly enough. This can cause the server to consume all available memory, leading to a crash or service outage (Denial of Service).
Technical details
A resource exhaustion vulnerability exists in AIOHTTP's HTTP/1.1 parser due to the lack of a limit on the number of parsed-but-unhandled pipelined requests buffered per connection. By sending a continuous stream of pipelined requests, a remote unauthenticated attacker can force the server to allocate an unbounded amount of memory to queue these requests while the handler is busy. This leads to a Denial of Service (DoS) condition via memory exhaustion. The fix, introduced in version 3.14.1, implements a bounded queue that pauses the transport once an internal limit is reached, resuming only as the request handler drains the backlog.
Affected products
- aio-libs aiohttp < 3.14.1
Timeline
- 2026-06-07: patched: Fix committed to repository
- 2026-06-08: advisory: GitHub Security Advisory published
- 2026-06-22: disclosed: NVD publication date