Cyber Resilience

CVE-2023-37276

Aiohttp ≤ 3.8.4

Public PoC
Published
19 July 2023
Modified
21 November 2024
Patch / advisory
CVSS Score v3.1 5.3
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
EPSS Score 0.013 69th percentile
Risk Priority 51 floored blend · peak EPSS

Summary

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

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

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-69225Same product: Aiohttp Aiohttp
CVE-2024-52304Same product: Aiohttp Aiohttp
CVE-2023-47627Same product: Aiohttp Aiohttp
CVE-2023-47641Same product: Aiohttp Aiohttp
CVE-2025-53643Same product: Aiohttp Aiohttp
CVE-2025-69224Same product: Aiohttp Aiohttp
CVE-2026-34515Same product: Aiohttp Aiohttp
CVE-2026-34525Same product: Aiohttp Aiohttp
CVE-2026-50269Same product: Aiohttp Aiohttp
CVE-2026-34993Same product: Aiohttp Aiohttp

Affected Assets

aiohttp
aiohttp
≤ 3.8.4

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V4.1.3
  • V4.2.4
  • V1.5.3
  • V4.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.

PR.PS-01 mostly match
prevents

Configuration management can enforce uniform HTTP parsing rules across intermediaries, directly mitigating inconsistent interpretation.

DE.CM-01 partial match
prevents

Network monitoring can detect smuggling attempts via anomalous HTTP traffic or logs, while eliminating the inconsistency directly aids detection of such events.

PR.IR-01 partial match
prevents

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.

finds

Security testing can detect HTTP request smuggling vulnerabilities in intermediary components.

degrades

Network security controls can enforce consistent HTTP parsing and proxy behavior that mitigates request smuggling.

degrades

Secure network services include hardening proxies and gateways against inconsistent HTTP interpretation.

prevents

Secure SDLC practices require threat modeling and testing for HTTP parsing inconsistencies in intermediaries.

prevents

Application security requirements can mandate strict HTTP message validation and canonicalization.

prevents

Secure architecture principles include consistent protocol handling and defense-in-depth for proxies.

References