AIOHTTP's C parser (llhttp) accepts null bytes and control characters in response header values - header injection/security bypass
Description
Published by the National Vulnerability Database
Apr 1, 2026
Published to the GitHub Advisory Database
Apr 1, 2026
Reviewed
Apr 1, 2026
Last updated
Apr 6, 2026
Summary
The C parser (the default for most installs) accepted null bytes and control characters is response 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: aio-libs/aiohttp@9370b97
References