AIOHTTP · GHSA-3rp8-rxj8-mvjw · Package
FIX → 3.14.4
aiohttp's WebSocket reader in its C extension miscalculates the size check for a declared frame length, so a very large declared length passes the max_msg_size limit. An attacker can stream an oversized message after a small non-final fragment and drive the server into unbounded memory use.
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 runs aiohttp as a WebSocket server or accepts WebSocket messages from clients and relies on max_msg_size to limit memory use. The flaw is in the C extension path; applications that only make outbound client calls or do not expose WebSocket endpoints are less exposed. Teams running the pure Python reader are stated to be unaffected.
Not affected if no-websocket-endpoints, patched-3.14.4, python-reader-only
Who cares aiohttp, python, self-hosted, websocket
pip show aiohttp; versions at or below 3.14.3 are affected.AIOHTTP_NO_EXTENSIONS is not set, the C reader is active.Upgrade to 3.14.4
The max_msg_size check in the WebSocket reader added the declared frame length to the size of the partial message already buffered. In the C extension this addition is 64-bit arithmetic, so a declared length close to 2**63 overflowed and the check passed.
An attacker could bypass max_msg_size and cause unbounded memory use by streaming an oversized WebSocket message after a small non-final fragment.
If unable to upgrade, the Python reader is unaffected and can be used with AIOHTTP_NO_EXTENSIONS=1.
Patch: https://github.com/aio-libs/aiohttp/commit/8cfbe9abe5e11b84006a10f9bdf82bf607671dab
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.
3.14.4AIOHTTP_NO_EXTENSIONS=1 to use the Python reader, which is stated to be unaffected.