CVE-2026-75484

HTTP/2 header field values containing CR, LF or NUL are passed to the application unvalidated in Bandit

MEDIUM
6.9
CVSS Score
Published: August 20, 2026 at 09:11 PM UTC
Updated: October 18, 2026 at 08:10 PM UTC
1 product affected across 1 vendorBandit

Using bandit by mtrudel?

Get instant alerts when new vulnerabilities affect bandit - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM6.9
Exploit prediction
EPSS 0.7%
SSVC
PoC

Description

Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in mtrudel bandit allows an unauthenticated remote attacker to smuggle CR, LF, or NUL characters into application-visible request headers via HTTP/2. Bandit.HTTP2.Stream.read_headers/1 validates pseudo-header placement and uniqueness, header-name casing, connection-specific headers, the te value, and content-length, but never checks field values. Because HPACK carries arbitrary octets, a HEADERS block whose field values contain \r, \n, or \0 decodes without error and the values land in conn.req_headers unchanged. The HTTP/1 path already rejects the same octets; HTTP/2 did not. Bandit itself is not a sink for the injected bytes: its own logging uses fixed strings or inspect, and HTTP/2 response headers are HPACK-encoded and separately rejected by Plug's put_resp_header, so response splitting is not reachable through this path. The risk is entirely in how a downstream application consumes header values, such as appending one verbatim to a plain-text log or concatenating it into an upstream request. A related gap bundled in the same fix: only :method, :scheme, and :path were checked for at most one occurrence; a duplicate :authority pseudo-header was accepted, with the first instance silently winning as conn.host while a conflicting value remained visible to the application. This issue affects bandit: from 1.4.0 before 1.12.5.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

All versions1.4.0fff06efe3be962b484bd4d3eb339372fda5a231f
Vendor states this is fixed in d38cf046c9a3cae4d0f88001c2ceb4143f86366b (fixed)
Affected range stops below 1.12.5, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

SSVC — Action Prioritization

SSVCPoCAutomatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

6.9MEDIUMEEF
Vector?

Quick Info

StatusAWAITING ANALYSIS
CWE
CWE-93

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card