CVE-2023-47641: aio-libs aiohttp · HTTP Request/Response Smuggling
Affects aio-libs aiohttpSource CVE Database V5
Not known to be exploited · CVSS 3.4 Low : upgrade to 3.8.0 when convenient.
Data as of 26 Oct 2026, 09:15 UTC
- EPSS
- 0.8% chance of exploitation in 30 days – higher than 57% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 3.8.0
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:NExploitation evidence
Disclosed: evidence found.
CVE published 14 Nov 2023
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade aio-libs aiohttp to 3.8.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
PyPIaiohttppkg:pypi/aiohttpOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
The primary mitigation is to upgrade all aiohttp instances to version 3.8.0 or later, where the vulnerability has been fixed. Since no known workarounds exist, patching is critical. Organizations should audit their infrastructure to identify aiohttp usage, particularly in backend services behind reverse proxies that accept both Content-Length and Transfer-Encoding headers. Configuration hardening of reverse proxies to reject or normalize requests containing both headers can reduce risk. Implement strict input validation and header sanitization at the proxy level to prevent malformed TE headers. Monitoring and logging HTTP request anomalies can help detect attempts to exploit request smuggling. Additionally, review and remediate any open redirect vulnerabilities that could be chained with this issue. Employing Web Application Firewalls (WAFs) with updated signatures to detect request smuggling attempts may provide additional protection. Finally, conduct security testing, including fuzzing and penetration testing, focusing on HTTP header parsing inconsistencies in the affected environments.
Description
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.