GHSA-63hf-3vf5-4wqf
AIOHTTP's C parser (llhttp) accepts null bytes and control characters in response header values - header injection/security bypass
At a glance
- Published
- Updated
- CVE
- CVE-2026-34520
- Aliases
- PYSEC-2026-2102
- CVSS_V3
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
- CVSS_V4
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U
Description
### Summary The C parser (the default for most installs) accepted null bytes and control characters in request headers. ### Impact An attacker could send header values that are interpreted differently than expected due to the presence of control characters. For example, `request.url.origin()` may return a different value than the raw Host header, or what a reverse proxy interpreted it as., potentially resulting in some kind of security bypass. ----- Patch: https://github.com/aio-libs/aiohttp/commit/9370b9714a7a56003cacd31a9b4ae16eab109ba4
Affected packages
| Package | Versions |
|---|---|
| PyPI · aiohttp | introduced 0, fixed 3.13.4 |
References
- https://github.com/aio-libs/aiohttp/security/advisories/GHSA-63hf-3vf5-4wqf WEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-34520 ADVISORY
- https://github.com/aio-libs/aiohttp/commit/9370b9714a7a56003cacd31a9b4ae16eab109ba4 WEB
- https://github.com/aio-libs/aiohttp PACKAGE
- https://github.com/aio-libs/aiohttp/releases/tag/v3.13.4 WEB
- https://github.com/pypa/advisory-database/tree/main/vulns/aiohttp/PYSEC-2026-2102.yaml WEB
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — GitHub Advisory Database |