AIOHTTP · GHSA-h4cc-hm5h-fmm9 · Package
FIX → 3.14.4
aiohttp decompresses each concatenated gzip, deflate or zstd member by handing the whole remaining input to a new decompressor, which makes CPU time quadratic. An attacker can send a crafted compressed request body or WebSocket message to block a server's event loop, and a malicious server can do the same to a client.
first public Nov 8, 2026 · 1 source
Could this affect your app?
Free first check from your website. Connect your repo for the full answer.
Any application that uses aiohttp as an HTTP server or client and accepts compressed request bodies or WebSocket messages from untrusted parties is exposed. A malicious server can also affect aiohttp clients that read its compressed responses. Applications that do not accept or process compressed input from untrusted sources can skip it.
Not affected if no-untrusted-compressed-input
Who cares aiohttp, http-client, python, web-server
pip show aiohttp and compare it to the affected range <= 3.14.3.aiohttp pinned at or below 3.14.3.Upgrade to 3.14.4
When decompressing a payload made up of many concatenated compressed members (gzip, deflate or zstd), each member was decoded by passing the entire remaining input to a new decompressor, resulting in quadratic CPU time. Empty members produce no output, so client_max_size and output backpressure did not limit the work.
An attacker could block the event loop of a server with a specially crafted compressed request body or WebSocket message. A malicious server could do the same to a client.
Patch: https://github.com/aio-libs/aiohttp/commit/d925a80539ffd227da1d93ab4a5bff123cc777db
This page as .md ·
Check it with your coding agent
It reads this page and tells you if your code is affected.
Are you affected?
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.
aiohttp3.14.4