CVE-2023-47627
published 2023-11-14CVE-2023-47627: aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. The HTTP parser in AIOHTTP has numerous problems with header parsing, which…
PriorityP341high7.5CVSS 3.1
AVNACLPRNUINSUCNIHAN
EPSS
0.86%
54.4th percentile
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.
Affected
8 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| aio-libs | aiohttp | < 3.9.2 | 3.9.2 |
| aiohttp | aiohttp | < 3.9.2 | 3.9.2 |
| aiohttp | aiohttp | < 3.8.6 | 3.8.6 |
| aiohttp | aiohttp | >= 0 < 3.8.6 | 3.8.6 |
| debian | python-aiohttp | < python-aiohttp 3.8.4-1+deb12u1 (bookworm) | python-aiohttp 3.8.4-1+deb12u1 (bookworm) |
| debian | python-aiohttp | < python-aiohttp 3.7.4-1+deb11u1 (bullseye) | python-aiohttp 3.7.4-1+deb11u1 (bullseye) |
| fedoraproject | fedora | — | — |
| msrc | azl3_mozjs_102.15.1-1_on_azure_linux_3.0 | — | — |
CVSS provenance
nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
osv7.5HIGH
vendor_msrc7.5HIGH
vendor_oracle7.5MEDIUM
vendor_debian5.3MEDIUM
vendor_redhat5.3MEDIUM
vendor_ubuntu5.3MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
python-aiohttp vulnerabilities
osv·2025-07-17·CVSS 7.5
CVE-2023-47627 [HIGH] python-aiohttp vulnerabilities
python-aiohttp vulnerabilities
Ben Kallus discovered that AIOHTTP did not correctly parse HTTP
headers. A remote attacker could possibly use this issue to perform
request smuggling. This issue only affected Ubuntu 20.04 LTS and
Ubuntu 22.04 LTS. (CVE-2023-47627)
Ivan Novikov discovered that AIOHTTP did not properly validate certain
inputs. A remote attacker could possibly use this issue to perform request
smuggling. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS and
Ubuntu 22.04 LTS. (CVE-2023-49081, CVE-2023-49082)
Paul J. Dorn discovered that AIOHTTP did not properly validate certain
inputs. A remote attacker could possibly use this issue to perform request
smuggling. This issue only affected Ubuntu 20.04 LTS, Ubuntu 22.04 LTS and
Ubuntu 24.04 LTS. (CVE-2024-23829)
Takes
OSV
CVE-2024-23829: aiohttp is an asynchronous HTTP client/server framework for asyncio and Python
osv·2024-01-29·CVSS 7.5
CVE-2024-23829 [HIGH] CVE-2024-23829: aiohttp is an asynchronous HTTP client/server framework for asyncio and Python
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 v
OSV
CVE-2023-47627: aiohttp is an asynchronous HTTP client/server framework for asyncio and Python
osv·2023-11-14·CVSS 7.5
CVE-2023-47627 [HIGH] CVE-2023-47627: aiohttp is an asynchronous HTTP client/server framework for asyncio and Python
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.
OSV
AIOHTTP has problems in HTTP parser (the python one, not llhttp)
osv·2023-11-14
CVE-2023-47627 [MEDIUM] AIOHTTP has problems in HTTP parser (the python one, not llhttp)
AIOHTTP has problems in HTTP parser (the python one, not llhttp)
# Summary
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).
# Details
## Bug 1: Bad parsing of `Content-Length` values
### Description
RFC 9110 says this:
> `Content-Length = 1*DIGIT`
AIOHTTP does not enforce this rule, presumably because of an incorrect usage of the builtin `int` constructor. Because the `int` constructor accepts `+` and `-` prefixes, and digit-separating underscores, using `int` to parse CL values leads AIOHTTP to significant misinterpretation.
### Examples
```
GET / HTTP/1.1\r\n
Content-Length: -0\r\n
\r\n
X
```
```
GET / HTTP/1.1\r\n
Content-Len
GHSA
AIOHTTP has problems in HTTP parser (the python one, not llhttp)
ghsa·2023-11-14
CVE-2023-47627 [MEDIUM] CWE-444 AIOHTTP has problems in HTTP parser (the python one, not llhttp)
AIOHTTP has problems in HTTP parser (the python one, not llhttp)
# Summary
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).
# Details
## Bug 1: Bad parsing of `Content-Length` values
### Description
RFC 9110 says this:
> `Content-Length = 1*DIGIT`
AIOHTTP does not enforce this rule, presumably because of an incorrect usage of the builtin `int` constructor. Because the `int` constructor accepts `+` and `-` prefixes, and digit-separating underscores, using `int` to parse CL values leads AIOHTTP to significant misinterpretation.
### Examples
```
GET / HTTP/1.1\r\n
Content-Length: -0\r\n
\r\n
X
```
```
GET / HTTP/1.1\r\n
Content-Len
Ubuntu
AIOHTTP vulnerabilities
vendor_ubuntu·2025-07-17·CVSS 5.3
CVE-2023-49082 [MEDIUM] AIOHTTP vulnerabilities
Title: AIOHTTP vulnerabilities
Summary: Several security issues were fixed in AIOHTTP.
Ben Kallus discovered that AIOHTTP did not correctly parse HTTP
headers. A remote attacker could possibly use this issue to perform
request smuggling. This issue only affected Ubuntu 20.04 LTS and
Ubuntu 22.04 LTS. (CVE-2023-47627)
Ivan Novikov discovered that AIOHTTP did not properly validate certain
inputs. A remote attacker could possibly use this issue to perform request
smuggling. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS and
Ubuntu 22.04 LTS. (CVE-2023-49081, CVE-2023-49082)
Paul J. Dorn discovered that AIOHTTP did not properly validate certain
inputs. A remote attacker could possibly use this issue to perform request
smuggling. This issue only affected Ubuntu 20.04 LTS, Ubunt
Oracle
Oracle Oracle Siebel CRM Risk Matrix: Siebel Cloud Manager (AIOHTTP) — CVE-2023-47627
vendor_oracle·2024-07-15·CVSS 7.5
CVE-2023-47627 [MEDIUM] Oracle Oracle Siebel CRM Risk Matrix: Siebel Cloud Manager (AIOHTTP) — CVE-2023-47627
Oracle Oracle Siebel CRM Risk Matrix: Siebel Cloud Manager (AIOHTTP) vulnerability
CVE: CVE-2023-47627
CVSS: 7.5
Protocol: HTTP
Remote exploit: Yes
Affected versions: Network
Advisory: cpujul2024 (JUL 2024)
Red Hat
python-aiohttp: http request smuggling
vendor_redhat·2024-01-30·CVSS 5.3
CVE-2024-23829 [MEDIUM] CWE-444 python-aiohttp: http request smuggling
python-aiohttp: http request smuggling
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 CV
Debian
CVE-2024-23829: python-aiohttp - aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. ...
vendor_debian·2024·CVSS 5.3
CVE-2024-23829 [MEDIUM] CVE-2024-23829: python-aiohttp - aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. ...
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 v
Red Hat
python-aiohttp: numerous issues in HTTP parser with header parsing
vendor_redhat·2023-11-15·CVSS 5.3
CVE-2023-47627 [MEDIUM] CWE-444 python-aiohttp: numerous issues in HTTP parser with header parsing
python-aiohttp: numerous issues in HTTP parser with header parsing
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.
An HTTP request smuggling vulnerability was found in aiohttp. Numerous issues with HTTP parsing can allow an attacker to smuggle HTTP requests.
Package: ansible-tower (Red Hat Ansible Automation Platform 1.2) - Not affected
Package: ansible-automation-platform-2
Microsoft
Request smuggling in aiohttp
vendor_msrc·2023-11-14·CVSS 7.5
CVE-2023-47627 [MEDIUM] CWE-444 Request smuggling in aiohttp
Request smuggling in aiohttp
FAQ: Is Azure Linux the only Microsoft product that includes this open-source library and is therefore potentially affected by this vulnerability?
One of the main benefits to our customers who choose to use the Azure Linux distro is the commitment to keep it up to date with the most recent and most secure versions of the open source libraries with which the distro is composed. Microsoft is committed to transparency in this work which is why we began publishing CSAF/VEX in October 2025. See this blog post for more information. If impact to additional products is identified, we will update the CVE to reflect this.
Mariner: Mariner
GitHub_M: GitHub_M
Customer Action Required: Yes
Debian
CVE-2023-47627: python-aiohttp - aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. ...
vendor_debian·2023·CVSS 5.3
CVE-2023-47627 [MEDIUM] CVE-2023-47627: python-aiohttp - aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. ...
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.
Scope: local
bookworm: resolved (fixed in 3.8.4-1+deb12u1)
bullseye: resolved (fixed in 3.7.4-1+deb11u1)
forky: resolved (fixed in 3.8.6-1)
sid: resolved (fixed in 3.8.6-1)
trixie: resolved (fixed in 3.8.6-1)
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://github.com/aio-libs/aiohttp/commit/d5c12ba890557a575c313bb3017910d7616fce3dhttps://github.com/aio-libs/aiohttp/security/advisories/GHSA-gfw2-4jvh-wgfghttps://lists.fedoraproject.org/archives/list/[email protected]/message/FUSJVQ7OQ55RWL4XAX2F5EZ73N4ZSH6U/https://lists.fedoraproject.org/archives/list/[email protected]/message/VDKQ6HM3KNDU4OQI476ZWT4O7DMSIT35/https://lists.fedoraproject.org/archives/list/[email protected]/message/WQYQL6WV535EEKSNH7KRARLLMOW5WXDM/https://github.com/aio-libs/aiohttp/commit/d5c12ba890557a575c313bb3017910d7616fce3dhttps://github.com/aio-libs/aiohttp/security/advisories/GHSA-gfw2-4jvh-wgfghttps://lists.debian.org/debian-lts-announce/2025/02/msg00002.htmlhttps://lists.fedoraproject.org/archives/list/[email protected]/message/FUSJVQ7OQ55RWL4XAX2F5EZ73N4ZSH6U/https://lists.fedoraproject.org/archives/list/[email protected]/message/VDKQ6HM3KNDU4OQI476ZWT4O7DMSIT35/https://lists.fedoraproject.org/archives/list/[email protected]/message/WQYQL6WV535EEKSNH7KRARLLMOW5WXDM/
2023-11-14
Published