CVE-2025-69227
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk32th percentile - higher than 32% of all known CVEs
Summary
AIOHTTP versions 3.13.2 and below contain a vulnerability that allows an infinite loop to occur when assert statements are bypassed, resulting in a DoS attack when processing a POST body. If optimizations are enabled (-O or PYTHONOPTIMIZE=1) and the application includes a handler using Request.post(), an attacker may execute a DoS attack with a specially crafted message. This issue is fixed in version 3.13.3.
Risk Assessment
The risk is the possibility of a Denial of Service (DoS) attack on the application, which can lead to service unavailability for users. The vulnerability requires specific conditions (enabled optimizations and use of Request.post()) but can be exploited remotely.
Recommendation
It is recommended to immediately upgrade AIOHTTP to version 3.13.3 or later. If upgrading is not possible, avoid using the Request.post() method or disable Python optimizations (-O, PYTHONOPTIMIZE) in the production environment.
Other vulnerabilities in AIOHTTP
See all- GHSA-2g87-pp6c-29x5High
Multiple cases were found in aiohttp where excessive or unbounded memory use, or excessive CPU consumption, can be triggered by attacker-controlled requests. An attacker could cause resource exhaustion through specially crafted requests.
- CVE-2026-111750Medium
In aiohttp before 3.14.4, the pure Python parser accepts ambiguous HTTP request framing. An unauthenticated attacker can smuggle requests when an application runs without a standard wheel (e.g., with AIOHTTP_NO_EXTENSIONS) and an intermediary interprets the framing differently.
- CVE-2026-111749Low
In AIOHTTP prior to 3.14.4, Host-Only scope on an existing parent-domain cookie can be removed by a subdomain. A user accessing an untrusted subdomain may have host-only protections stripped from cookies.
- CVE-2026-111748Medium
In aiohttp before 3.14.4, an attacker can send an absolute-form request causing Request.scheme to use attacker-controlled request-target scheme data instead of the connection protocol. Applications using Request.scheme for security decisions can be tricked about whether the connection is encrypted.
- CVE-2026-111066High
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. From 2.0.0 until 3.14.4, multipart request processing can retain an unbounded number of open file descriptors. An unauthenticated attacker can consequently exhaust file descriptors with specially crafted multipart requests when a handler uses Request.post(). This issue is fixed in version 3.14.4.
- CVE-2026-111065Medium
In aiohttp before 3.14.4, Max-Age processing can overflow and skip closing a connection. An attacker can temporarily exhaust the connection pool until garbage collection resolves the connections.
- CVE-2026-111064High
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.4, keepalive timeout handling is absent during the initial portion of a request. An attacker can keep an idle connection open indefinitely before sending any request data, consuming server connection capacity. This issue is fixed in version 3.14.4.
- CVE-2026-111063Medium
In aiohttp before 3.14.4, the Secure attribute for a shared cookie is not enforced. An attacker can cause a shared cookie marked Secure to be sent with an unencrypted request.
- CVE-2026-69244High
AIOHTTP, an asynchronous HTTP client/server framework for Python, prior to version 3.14.3, has an out-of-bounds heap read vulnerability in the C response parser. While building an error message for a malformed response, an out-of-bounds read can occur, leading to DoS in the client. Fixed in version 3.14.3.
- CVE-2026-69243Medium
AIOHTTP prior to version 3.14.2 contains a request smuggling vulnerability related to WebSocket upgrades. A WebSocket upgrade request with a body could cause the parser to switch protocols before the complete request body was received, leaving trailing bytes to be handled as upgraded-protocol or pipelined data rather than normal HTTP body data.
Original NVD description (English source)
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Versions 3.13.2 and below allow for an infinite loop to occur when assert statements are bypassed, resulting in a DoS attack when processing a POST body. If optimizations are enabled (-O or PYTHONOPTIMIZE=1), and the application includes a handler that uses the Request.post() method, then an attacker may be able to execute a DoS attack with a specially crafted message. This issue is fixed in version 3.13.3.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

