PT-2026-79147 · Bandit · Bandit
CVSS v4.0
6.9
Medium
| Vector | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N |
Name of the Vulnerable Software and Affected Versions
bandit versions 1.4.0 through 1.12.4
Description
An improper neutralization of CRLF sequences allows an unauthenticated remote attacker to smuggle Carriage Return (CR), Line Feed (LF), or Null (NUL) characters into application-visible request headers via HTTP/2. The function
Bandit.HTTP2.Stream.read headers/1 validates pseudo-header placement, uniqueness, header-name casing, connection-specific headers, the te value, and content-length, but fails to check field values. Since HPACK carries arbitrary octets, a HEADERS block containing r, , or 0 decodes without error, and these values are placed in conn.req headers unchanged. While the HTTP/1 path rejects these octets, the HTTP/2 path does not. The risk occurs when a downstream application consumes these header values, such as by appending them to a plain-text log or concatenating them into an upstream request. Additionally, a duplicate :authority pseudo-header could be accepted, where the first instance is used as conn.host while a conflicting value remains visible to the application.Recommendations
Update bandit to version 1.12.5 or later.
Exploit
Fix
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Bandit