CVE-2023-37276
Aiohttp ≤ 3.8.4
Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:NSummary
CVE-2023-37276 is a medium-severity HTTP Request/Response Smuggling (CWE-444) vulnerability in Aiohttp Aiohttp. Its CVSS base score is 5.3 (Medium).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 31% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. Versions 3.8.4 and earlier bundle llhttp v6.0.6, and the vulnerable llhttp-based HTTP request parser is enabled by default when the package is installed from a wheel. The flaw affects only deployments that use aiohttp as an HTTP server via aiohttp.Application; client-side usage through aiohttp.ClientSession is unaffected. A crafted HTTP request can cause the server to misinterpret a header value, resulting in HTTP request smuggling (CWE-444) with a CVSS 3.1 score of 5.3.
An unauthenticated network attacker can send the malicious request to trigger the parser inconsistency. Successful exploitation allows the attacker to smuggle a second request past the server’s intended boundaries, achieving limited integrity impact without requiring user interaction or privileges.
The issue is fixed in aiohttp 3.8.5. The project advisory recommends upgrading; users who cannot upgrade may reinstall the package with the environment variable AIOHTTP_NO_EXTENSIONS=1 set, which disables the llhttp extension and falls back to the non-vulnerable pure-Python parser. The associated GitHub security advisory and commit reference confirm the scope and remediation steps. The EPSS score has remained flat at 0.0613 with no material increase after disclosure.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2023-0003
Vulnerability Data
aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. aiohttp v3.8.4 and earlier are bundled with llhttp v6.0.6. Vulnerable code is used by aiohttp for its HTTP request parser when available which is the default case when installing…
more
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`). Sending a crafted HTTP request will cause the server to misinterpret one of the HTTP header values leading to HTTP request smuggling. This issue has been addressed in version 3.8.5. Users are advised to upgrade. Users unable to upgrade 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.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
—
V4.1.3V4.2.4V1.5.3V4.1.1
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Configuration management can enforce uniform HTTP parsing rules across intermediaries, directly mitigating inconsistent interpretation.
Network monitoring can detect smuggling attempts via anomalous HTTP traffic or logs, while eliminating the inconsistency directly aids detection of such events.
Network protections can enforce consistent HTTP proxy/firewall behavior to block smuggling, and removing the weakness helps prevent unauthorized access via request smuggling.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing can detect HTTP request smuggling vulnerabilities in intermediary components.
Network security controls can enforce consistent HTTP parsing and proxy behavior that mitigates request smuggling.
Secure network services include hardening proxies and gateways against inconsistent HTTP interpretation.
Secure SDLC practices require threat modeling and testing for HTTP parsing inconsistencies in intermediaries.
Application security requirements can mandate strict HTTP message validation and canonicalization.
Secure architecture principles include consistent protocol handling and defense-in-depth for proxies.