Search for packages
| purl | pkg:deb/debian/python-aiohttp@3.7.4-1?distro=trixie |
| Next non-vulnerable version | 3.7.4-1+deb11u1 |
| Latest non-vulnerable version | 3.14.0-1 |
| Risk | 4.0 |
| Vulnerability | Summary | Fixed by |
|---|---|---|
|
VCID-kc4y-3rrv-77h4
Aliases: CVE-2026-47265 GHSA-hg6j-4rv6-33pg |
python-aiohttp: AIOHTTP: Information disclosure via improper handling of cookies during cross-origin redirects |
Affected by 0 other vulnerabilities. |
|
VCID-p12d-qx3n-cuav
Aliases: CVE-2025-69223 GHSA-6mq8-rvhq-8wgg |
AIOHTTP's HTTP Parser auto_decompress feature is vulnerable to zip bomb A zip bomb can be used to execute a DoS against the aiohttp server. |
Affected by 12 other vulnerabilities. Affected by 0 other vulnerabilities. Affected by 2 other vulnerabilities. Affected by 0 other vulnerabilities. |
|
VCID-qs2p-udan-p3an
Aliases: CVE-2026-34993 GHSA-jg22-mg44-37j8 |
AIOHTTP is Vulnerable to Deserialization of Untrusted Data ### Summary Using ``CookieJar.load()`` with untrusted input may allow arbitrary code execution. ### Impact Most applications using this function will be doing so with the user's own data, so this is unlikely to affect many applications. ### Workaround If an application does allow attacker controlled files to be loaded, a workaround on older releases would be to sanitise the files before loading. ----- Patch: https://github.com/aio-libs/aiohttp/commit/dcf40f30637e8752c76781cf6703b5a236749a00 |
Affected by 0 other vulnerabilities. |
| Vulnerability | Summary | Aliases |
|---|---|---|
| VCID-2nje-sqj3-pugm | aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. Affected versions of aiohttp have a security vulnerability regarding the inconsistent interpretation of the http protocol. HTTP/1.1 is a persistent protocol, if both Content-Length(CL) and Transfer-Encoding(TE) header values are present it can lead to incorrect interpretation of two entities that parse the HTTP and we can poison other sockets with this incorrect interpretation. A possible Proof-of-Concept (POC) would be a configuration with a reverse proxy(frontend) that accepts both CL and TE headers and aiohttp as backend. As aiohttp parses anything with chunked, we can pass a chunked123 as TE, the frontend entity will ignore this header and will parse Content-Length. The impact of this vulnerability is that it is possible to bypass any proxy rule, poisoning sockets to other users like passing Authentication Headers, also if it is present an Open Redirect an attacker could combine it to redirect random users to another website and log the request. This vulnerability has been addressed in release 3.8.0 of aiohttp. Users are advised to upgrade. There are no known workarounds for this vulnerability. |
CVE-2023-47641
GHSA-xx9p-xxvh-7g8j PYSEC-2023-247 |
| VCID-36wp-z5r9-d3eh | aiohttp vulnerable to Denial of Service when trying to parse malformed POST requests An attacker can send a specially crafted POST (multipart/form-data) request. When the aiohttp server processes it, the server will enter an infinite loop and be unable to process any further requests. |
CVE-2024-30251
GHSA-5m98-qgg9-wh84 |
| VCID-3v2v-g9dz-q7hu | aiohttp: AIOHTTP: Information disclosure via retained Cookie and Proxy-Authorization headers during redirects |
CVE-2026-34518
GHSA-966j-vmvw-g2g9 |
| VCID-48db-pv6y-3bb3 | aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. When using aiohttp as a web server and configuring static routes, it is necessary to specify the root path for static files. Additionally, the option 'follow_symlinks' can be used to determine whether to follow symbolic links outside the static root directory. When 'follow_symlinks' is set to True, there is no validation to check if reading a file is within the root directory. This can lead to directory traversal vulnerabilities, resulting in unauthorized access to arbitrary files on the system, even when symlinks are not present. Disabling follow_symlinks and using a reverse proxy are encouraged mitigations. Version 3.9.2 fixes this issue. |
CVE-2024-23334
GHSA-5h86-8mv2-jq9f PYSEC-2024-24 |
| VCID-4kzt-jurh-4udw | aiohttp Cross-site Scripting vulnerability on index pages for static file handling A XSS vulnerability exists on index pages for static file handling. |
CVE-2024-27306
GHSA-7gpw-8wmc-pm8g |
| VCID-5p2v-fh76-tues | aiohttp.web.Application vulnerable to HTTP request smuggling via llhttp HTTP request parser ### Impact aiohttp v3.8.4 and earlier are [bundled with llhttp v6.0.6](https://github.com/aio-libs/aiohttp/blob/v3.8.4/.gitmodules) which is vulnerable to CVE-2023-30589. The vulnerable code is used by aiohttp for its HTTP request parser when available which is the default case when installing from a wheel. This vulnerability only affects users of aiohttp as an HTTP server (ie `aiohttp.Application`), you are not affected by this vulnerability if you are using aiohttp as an HTTP client library (ie `aiohttp.ClientSession`). ### Reproducer ```python from aiohttp import web async def example(request: web.Request): headers = dict(request.headers) body = await request.content.read() return web.Response(text=f"headers: {headers} body: {body}") app = web.Application() app.add_routes([web.post('/', example)]) web.run_app(app) ``` Sending a crafted HTTP request will cause the server to misinterpret one of the HTTP header values leading to HTTP request smuggling. ```console $ printf "POST / HTTP/1.1\r\nHost: localhost:8080\r\nX-Abc: \rxTransfer-Encoding: chunked\r\n\r\n1\r\nA\r\n0\r\n\r\n" \ | nc localhost 8080 Expected output: headers: {'Host': 'localhost:8080', 'X-Abc': '\rxTransfer-Encoding: chunked'} body: b'' Actual output (note that 'Transfer-Encoding: chunked' is an HTTP header now and body is treated differently) headers: {'Host': 'localhost:8080', 'X-Abc': '', 'Transfer-Encoding': 'chunked'} body: b'A' ``` ### Patches Upgrade to the latest version of aiohttp to resolve this vulnerability. It has been fixed in v3.8.5: [`pip install aiohttp >= 3.8.5`](https://pypi.org/project/aiohttp/3.8.5/) ### Workarounds If you aren't able to upgrade you can reinstall aiohttp using `AIOHTTP_NO_EXTENSIONS=1` as an environment variable to disable the llhttp HTTP request parser implementation. The pure Python implementation isn't vulnerable to request smuggling: ```console $ python -m pip uninstall --yes aiohttp $ AIOHTTP_NO_EXTENSIONS=1 python -m pip install --no-binary=aiohttp --no-cache aiohttp ``` ### References * https://nvd.nist.gov/vuln/detail/CVE-2023-30589 * https://hackerone.com/reports/2001873 |
CVE-2023-37276
GHSA-45c4-8wx5-qw6w PYSEC-2023-120 |
| VCID-7b59-eb63-tfcf | aiohttp: AIOHTTP: Header injection vulnerability due to improper character handling |
CVE-2026-34520
GHSA-63hf-3vf5-4wqf |
| VCID-8mb3-gafx-8qaz | aiohttp: AIOHTTP: Header Injection via content_type parameter manipulation |
CVE-2026-34514
GHSA-2vrm-gr82-f7m5 |
| VCID-8y5k-1ax1-ykhs | AIOHTTP vulnerable to DoS when bypassing asserts When assert statements are bypassed, an infinite loop can occur, resulting in a DoS attack when processing a POST body. |
CVE-2025-69227
GHSA-jj3x-wxrx-4x23 |
| VCID-c1e6-tue3-8yce | aiohttp: AIOHTTP: Denial of Service via insufficient header/trailer handling |
CVE-2026-22815
GHSA-w2fm-2cpv-w7v5 |
| VCID-cu3k-ug29-93hr | aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. Security-sensitive parts of the Python HTTP parser retained minor differences in allowable character sets, that must trigger error handling to robustly match frame boundaries of proxies in order to protect against injection of additional requests. Additionally, validation could trigger exceptions that were not handled consistently with processing of other malformed input. Being more lenient than internet standards require could, depending on deployment environment, assist in request smuggling. The unhandled exception could cause excessive resource consumption on the application server and/or its logging facilities. This vulnerability exists due to an incomplete fix for CVE-2023-47627. Version 3.9.2 fixes this vulnerability. |
CVE-2024-23829
GHSA-8qpw-xqxj-h4r2 PYSEC-2024-26 |
| VCID-cvvb-x9jm-ubb8 | aiohttp: AIOHTTP: Information disclosure via static resource handler on Windows |
CVE-2026-34515
GHSA-p998-jp59-783m |
| VCID-emmx-uxw4-bucv | AIOHTTP Vulnerable to Cookie Parser Warning Storm Reading multiple invalid cookies can lead to a logging storm. |
CVE-2025-69230
GHSA-fh55-r93g-j68g |
| VCID-fcpq-68fe-jygn | In aiohttp, compressed files as symlinks are not protected from path traversal Static routes which contain files with compressed variants (`.gz` or `.br` extension) were vulnerable to path traversal outside the root directory if those variants are symbolic links. |
CVE-2024-42367
GHSA-jwhx-xcg6-8xhj |
| VCID-fxy2-3923-a7gf | aiohttp has a memory leak when middleware is enabled when requesting a resource with a non-allowed method A memory leak can occur when a request produces a `MatchInfoError`. This was caused by adding an entry to a cache on each request, due to the building of each `MatchInfoError` producing a unique cache entry. |
CVE-2024-52303
GHSA-27mf-ghqm-j3j8 |
| VCID-hwxf-hppk-r7c8 | AIOHTTP vulnerable to denial of service through large payloads A request can be crafted in such a way that an aiohttp server's memory fills up uncontrollably during processing. |
CVE-2025-69228
GHSA-6jhg-hg63-jvvf |
| VCID-k3f4-wafv-3qgu | aiohttp: AIOHTTP: Denial of Service via large multipart form fields |
CVE-2026-34517
GHSA-3wq7-rqq7-wx6j |
| VCID-k3nq-f446-bkas | aiohttp: aiohttp: Security bypass via multiple Host headers |
CVE-2026-34525
GHSA-c427-h43c-vf67 |
| VCID-m6u7-xssj-fffs | AIOHTTP's unicode processing of header values could cause parsing discrepancies The Python HTTP parser may allow a request smuggling attack with the presence of non-ASCII characters. |
CVE-2025-69224
GHSA-69f9-5gxw-wvc2 |
| VCID-m7wa-qdpv-wuhj | aiohttp: AIOHTTP: Denial of Service via excessive multipart headers |
CVE-2026-34516
GHSA-m5qp-6w8w-w647 |
| VCID-msav-gwbq-bufr | AIOHTTP vulnerable to brute-force leak of internal static file path components Path normalization for static files prevents path traversal, but opens up the ability for an attacker to ascertain the existence of absolute path components. |
CVE-2025-69226
GHSA-54jq-c3m8-4m76 |
| VCID-myz5-wsnu-u7a5 | aiohttp: aiohttp: Header injection vulnerability via reason parameter |
CVE-2026-34519
GHSA-mwh4-6h8g-pg8w |
| VCID-qh9b-wf9z-13d2 | AIOHTTP has unicode match groups in regexes for ASCII protocol elements The parser allows non-ASCII decimals to be present in the Range header. |
CVE-2025-69225
GHSA-mqqc-3gqh-h2x8 |
| VCID-qyz8-8vv1-6kgc | aiohttp allows request smuggling due to incorrect parsing of chunk extensions The Python parser parses newlines in chunk extensions incorrectly which can lead to request smuggling vulnerabilities under certain conditions. |
CVE-2024-52304
GHSA-8495-4g3g-x7pr |
| VCID-uw2u-75sa-xkev | aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. The HTTP parser in AIOHTTP has numerous problems with header parsing, which could lead to request smuggling. This parser is only used when AIOHTTP_NO_EXTENSIONS is enabled (or not using a prebuilt wheel). These bugs have been addressed in commit `d5c12ba89` which has been included in release version 3.8.6. Users are advised to upgrade. There are no known workarounds for these issues. |
CVE-2023-47627
GHSA-gfw2-4jvh-wgfg PYSEC-2023-246 |
| VCID-v5nd-ax84-jqdf | aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. Improper validation makes it possible for an attacker to modify the HTTP request (e.g. insert a new header) or even create a new HTTP request if the attacker controls the HTTP method. The vulnerability occurs only if the attacker can control the HTTP method (GET, POST etc.) of the request. If the attacker can control the HTTP version of the request it will be able to modify the request (request smuggling). This issue has been patched in version 3.9.0. |
CVE-2023-49082
GHSA-qvrw-v9rv-5rjx PYSEC-2023-251 |
| VCID-vc4c-6yc6-k3hn | aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. In aiohttp before version 3.7.4 there is an open redirect vulnerability. A maliciously crafted link to an aiohttp-based web-server could redirect the browser to a different website. It is caused by a bug in the `aiohttp.web_middlewares.normalize_path_middleware` middleware. This security problem has been fixed in 3.7.4. Upgrade your dependency using pip as follows "pip install aiohttp >= 3.7.4". If upgrading is not an option for you, a workaround can be to avoid using `aiohttp.web_middlewares.normalize_path_middleware` in your applications. |
CVE-2021-21330
GHSA-v6wp-4m6f-gcjg PYSEC-2021-76 |
| VCID-w4mr-q1jr-1qfp | aiohttp: AIOHTTP: Denial of Service due to unbounded DNS cache |
CVE-2026-34513
GHSA-hcc4-c3v8-rx92 |
| VCID-xgmx-6qmw-7ugn | AIOHTTP vulnerable to DoS through chunked messages Handling of chunked messages can result in excessive blocking CPU usage when receiving a large number of chunks. |
CVE-2025-69229
GHSA-g84x-mcqj-x9qq |
| VCID-yr3u-3vzh-1yhq | AIOHTTP is vulnerable to HTTP Request/Response Smuggling through incorrect parsing of chunked trailer sections The Python parser is vulnerable to a request smuggling vulnerability due to not parsing trailer sections of an HTTP request. |
CVE-2025-53643
GHSA-9548-qrrj-x5pj |
| VCID-zeyf-7kuj-wfag | aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. Improper validation made it possible for an attacker to modify the HTTP request (e.g. to insert a new header) or create a new HTTP request if the attacker controls the HTTP version. The vulnerability only occurs if the attacker can control the HTTP version of the request. This issue has been patched in version 3.9.0. |
CVE-2023-49081
GHSA-q3qx-c6g2-7pw2 PYSEC-2023-250 |