CVE-2026-59881: AIOHTTP: WebSocket client accepts compressed frames without negotiated permessage-deflate
Summary
The client accepts and decompresses frames with the RSV1 bit set even when the permessage-deflate extension was not negotiated.
Impact
A client may unexpectedly decompress WebSocket frames when explicitly opted out. This could lead to additional CPU/memory consumption, but is unlikely to be a significant issue unless a zip bomb vulnerability or similar is also present.
---
Patch: https://github.com/aio-libs/aiohttp/commit/47fb6ae354d4fa22048f4dbe7dbf82b625f0a2f6
Other sources
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.2, the WebSocket client accepts and decompresses frames with the RSV1 bit set even when the permessage-deflate extension was not negotiated, allowing a malicious server to cause unexpected CPU and memory consumption. This issue is fixed in version 3.14.2.
— NVD
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/aiohttpto a version that resolves this vulnerability.Fixed in 3.14.2 - Upgrade
Upgrade
aiohttpto a version that resolves this vulnerability.Fixed in 3.14.2Patch 47fb6ae354d4fa22048f4dbe7dbf82b625f0a2f6
Event History
Frequently Asked Questions
What is the severity of CVE-2026-59881?
The severity of CVE-2026-59881 is medium with a CVSS score of 6.9.
How do I fix CVE-2026-59881?
To fix CVE-2026-59881, upgrade to aiohttp version 3.14.2 or later where the vulnerability is patched.
What is the impact of CVE-2026-59881?
The impact of CVE-2026-59881 is that it may lead to unexpected CPU or memory consumption due to decompressing WebSocket frames that were not negotiated for decompression.
What is the nature of the vulnerability in CVE-2026-59881?
CVE-2026-59881 involves input validation issues where a WebSocket client decompressed frames with the RSV1 bit set without the necessary negotiation.
Is CVE-2026-59881 exploitable remotely?
Yes, CVE-2026-59881 is remotely exploitable since it involves the WebSocket client accepting frames over the network.