Vulnerabilities in pkg:pypi/aiohttp
PACKAGECVE-2026-69244 is a HIGH out-of-bounds heap read vulnerability (CWE-125: Out-of-bounds Read) affecting AIOHTTP libraries in the PyPI ecosystem. The issue involves out-of-bounds heap read in c http response parser error path (malformed chunked response). Remediation is available by upgrading affected packages to version 3.14.3.
pkg:pypi/aiohttp
Vulnerability advisories affecting package pkg:pypi/aiohttp. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-cq5v-8q36-5273 | CVE-2026-69244 | HIGH | AIOHTTP: Out-of-bounds heap read in C HTTP response parser error path (malformed chunked response) |
| GHSA-mfx4-hv73-q22v | CVE-2026-69243 | MODERATE | AIOHTTP: HTTP request smuggling via WebSocket upgrade |
| GHSA-mq44-7p77-q5h7 | CVE-2026-59881 | MODERATE | AIOHTTP: WebSocket client accepts compressed frames without negotiated permessage-deflate |
| GHSA-63hf-3vf5-4wqf | CVE-2026-34520 | LOW | AIOHTTP's C parser (llhttp) accepts null bytes and control characters in response header values - header injection/security bypass |
| GHSA-xcgm-r5h9-7989 | CVE-2026-54274 | MODERATE | aiohttp: Incomplete websocket frame payloads bypass memory limits |
| GHSA-4m7w-qmgq-4wj5 | CVE-2026-54275 | LOW | aiohttp: TLS Server Hostname Override Is Ignored When Reusing HTTPS Connections |
| GHSA-9x8q-7h8h-wcw9 | CVE-2026-54280 | LOW | aiohttp: Payload Response Resources Are Not Closed After Mid-Body Disconnect |
| GHSA-4fvr-rgm6-gqmc | CVE-2026-54273 | MODERATE | aiohttp: HTTP/1 Pipelined Requests Queue Without Limit |
| GHSA-g3cq-j2xw-wf74 | CVE-2026-54278 | MODERATE | aiohttp: Unread Compressed Request Bodies Bypass client_max_size During Cleanup |
| GHSA-63hw-fmq6-xxg2 | CVE-2026-54277 | MODERATE | aiohttp: C HTTP Parser Bypasses max_line_size for Fragmented Lines |
| GHSA-hpj7-wq8m-9hgp | CVE-2026-54276 | MODERATE | aiohttp: DigestAuthMiddleware Applies Credentials to Cross-Origin Redirect Challenges |
| GHSA-2fqr-mr3j-6wp8 | CVE-2026-54279 | LOW | aiohttp: Host-Only Cookies Become Domain Cookies After CookieJar Persistence |
| GHSA-m6qw-4cw2-hm4m | CVE-2026-50269 | LOW | aiohttp: CRLF injection in multipart headers |
| GHSA-rwqr-c348-m5wr | CVE-2022-33124 | MODERATE | Withdrawn: Denial of Service in aiohttp |
| GHSA-hg6j-4rv6-33pg | CVE-2026-47265 | MODERATE | AIOHTTP is vulnerable to cross-origin redirect with per-request cookies |
| GHSA-jg22-mg44-37j8 | CVE-2026-34993 | MODERATE | AIOHTTP is Vulnerable to Deserialization of Untrusted Data |
| GHSA-966j-vmvw-g2g9 | CVE-2026-34518 | LOW | AIOHTTP leaks Cookie and Proxy-Authorization headers on cross-origin redirect |
| GHSA-m5qp-6w8w-w647 | CVE-2026-34516 | MODERATE | AIOHTTP has a Multipart Header Size Bypass |
| GHSA-p998-jp59-783m | CVE-2026-34515 | MODERATE | AIOHTTP affected by UNC SSRF/NTLMv2 Credential Theft/Local File Read in static resource handler on Windows |
| GHSA-2vrm-gr82-f7m5 | CVE-2026-34514 | LOW | AIOHTTP has CRLF injection through multipart part content type header construction |
| GHSA-hcc4-c3v8-rx92 | CVE-2026-34513 | LOW | AIOHTTP Affected by Denial of Service (DoS) via Unbounded DNS Cache in TCPConnector |
| GHSA-w2fm-2cpv-w7v5 | CVE-2026-22815 | MODERATE | aiohttp allows unlimited trailer headers, leading to possible uncapped memory usage |
| GHSA-c427-h43c-vf67 | CVE-2026-34525 | MODERATE | AIOHTTP accepts duplicate Host headers |
| GHSA-mwh4-6h8g-pg8w | CVE-2026-34519 | LOW | AIOHTTP has HTTP response splitting via \r in reason phrase |
| GHSA-3wq7-rqq7-wx6j | CVE-2026-34517 | LOW | AIOHTTP has late size enforcement for non-file multipart fields causes memory DoS |
| GHSA-5h86-8mv2-jq9f | CVE-2024-23334 | HIGH | aiohttp is vulnerable to directory traversal |
| GHSA-fh55-r93g-j68g | CVE-2025-69230 | LOW | AIOHTTP Vulnerable to Cookie Parser Warning Storm |
| GHSA-g84x-mcqj-x9qq | CVE-2025-69229 | MODERATE | AIOHTTP vulnerable to DoS through chunked messages |
| GHSA-6jhg-hg63-jvvf | CVE-2025-69228 | MODERATE | AIOHTTP vulnerable to denial of service through large payloads |
| GHSA-jj3x-wxrx-4x23 | CVE-2025-69227 | MODERATE | AIOHTTP vulnerable to DoS when bypassing asserts |
| GHSA-54jq-c3m8-4m76 | CVE-2025-69226 | LOW | AIOHTTP vulnerable to brute-force leak of internal static file path components |
| GHSA-mqqc-3gqh-h2x8 | CVE-2025-69225 | LOW | AIOHTTP has unicode match groups in regexes for ASCII protocol elements |
| GHSA-69f9-5gxw-wvc2 | CVE-2025-69224 | LOW | AIOHTTP's unicode processing of header values could cause parsing discrepancies |
| GHSA-6mq8-rvhq-8wgg | CVE-2025-69223 | HIGH | AIOHTTP's HTTP Parser auto_decompress feature is vulnerable to zip bomb |
| GHSA-8495-4g3g-x7pr | CVE-2024-52304 | MODERATE | aiohttp allows request smuggling due to incorrect parsing of chunk extensions |
| GHSA-5m98-qgg9-wh84 | CVE-2024-30251 | HIGH | aiohttp vulnerable to Denial of Service when trying to parse malformed POST requests |
| GHSA-7gpw-8wmc-pm8g | CVE-2024-27306 | MODERATE | aiohttp Cross-site Scripting vulnerability on index pages for static file handling |
| GHSA-8qpw-xqxj-h4r2 | CVE-2024-23829 | MODERATE | aiohttp's HTTP parser (the python one, not llhttp) still overly lenient about separators |
| GHSA-q3qx-c6g2-7pw2 | CVE-2023-49081 | MODERATE | aiohttp's ClientSession is vulnerable to CRLF injection via version |
| GHSA-qvrw-v9rv-5rjx | CVE-2023-49082 | MODERATE | aiohttp's ClientSession is vulnerable to CRLF injection via method |
| GHSA-xx9p-xxvh-7g8j | CVE-2023-47641 | LOW | Aiohttp has inconsistent interpretation of `Content-Length` vs. `Transfer-Encoding` differing in C and Python fallbacks |
| GHSA-gfw2-4jvh-wgfg | CVE-2023-47627 | MODERATE | AIOHTTP has problems in HTTP parser (the python one, not llhttp) |
| GHSA-9548-qrrj-x5pj | CVE-2025-53643 | LOW | AIOHTTP is vulnerable to HTTP Request/Response Smuggling through incorrect parsing of chunked trailer sections |
| GHSA-jwhx-xcg6-8xhj | CVE-2024-42367 | MODERATE | In aiohttp, compressed files as symlinks are not protected from path traversal |
| GHSA-27mf-ghqm-j3j8 | CVE-2024-52303 | MODERATE | aiohttp has a memory leak when middleware is enabled when requesting a resource with a non-allowed method |
| GHSA-45c4-8wx5-qw6w | CVE-2023-37276 | MODERATE | aiohttp.web.Application vulnerable to HTTP request smuggling via llhttp HTTP request parser |
| GHSA-v6wp-4m6f-gcjg | CVE-2021-21330 | LOW | `aiohttp` Open Redirect vulnerability (`normalize_path_middleware` middleware) |
| GHSA-pjjw-qhg8-p2p9 | - | MODERATE | aiohttp has vulnerable dependency that is vulnerable to request smuggling |
CVE-2026-69244 at a Glance
How to Fix CVE-2026-69244
To remediate this vulnerability, upgrade all affected AIOHTTP dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install aiohttp>=3.14.3
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show aiohttp
How to Check if You Are Affected
To determine whether your Python environment is affected by CVE-2026-69244, inspect your installed packages using pip:
pip show aiohttp
Analyze the terminal output to locate any version of AIOHTTP in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 3.14.3), your application is affected.
Note: The pip show aiohttp command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-125: Out-of-bounds Read, where the product reads data past the end, or before the beginning, of the intended buffer. In AIOHTTP, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-69244 Affected AIOHTTP Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
aiohttp
|
PyPI |
< 3.14.3
|
3.14.3
|
References
Frequently Asked Questions
What is CVE-2026-69244?
Which AIOHTTP versions are affected?
What version fixes CVE-2026-69244?
Is aiohttp affected?
What CWE is associated with CVE-2026-69244?
How can I check PyPI dependencies for CVE-2026-69244?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-cq5v-8q36-5273",
"modified" : "2026-08-03T20:51:13Z",
"published" : "2026-08-03T20:51:13Z",
"aliases" : [ "CVE-2026-69244" ],
"summary" : "AIOHTTP: Out-of-bounds heap read in C HTTP response parser error path (malformed chunked response)",
"details" : "### Summary\n\nAn out-of-bounds heap read could occur in the C response parser while building an error message for a malformed response.\n\n### Impact\n\nAn attacker controlled server, or possibly an accidental response could trigger a DoS in the client.\n\n### Workaround\n\nIf unable to upgrade, the Python parser is unaffected and can be used with `AIOHTTP_NO_EXTENSIONS=1`.\n\n---\n\nPatch: https://github.com/aio-libs/aiohttp/commit/49f65d54150397892f7bcc4aae887767d51c322d",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "aiohttp"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "3.14.3"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 3.14.2"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/aio-libs/aiohttp/security/advisories/GHSA-cq5v-8q36-5273"
}, {
"type" : "WEB",
"url" : "https://github.com/aio-libs/aiohttp/pull/13223"
}, {
"type" : "WEB",
"url" : "https://github.com/aio-libs/aiohttp/commit/49f65d54150397892f7bcc4aae887767d51c322d"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/aio-libs/aiohttp"
}, {
"type" : "WEB",
"url" : "https://github.com/aio-libs/aiohttp/releases/tag/v3.14.3"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-125", "CWE-400", "CWE-416" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-08-03T20:51:13Z",
"nvd_published_at" : null
}
}