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.
Published: 2026-08-20
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: CRLF injection via HTTP/2 header values into downstream applications
Action: Patch immediately
AI Analysis

Impact

Bandit’s HTTP/2 header parsing accepts arbitrary octets in header field values without validation. This allows an unauthenticated remote attacker to inject raw CR, LF, or NUL characters into request headers sent over HTTP/2. The injected characters are passed directly to the application’s request header map, meaning any downstream component that consumes or logs these headers can be subverted, potentially enabling log injection, request splitting, or other header‑based attacks. Bandit itself does not provide a direct sink for the injected bytes, but the risk resides in how the application or downstream services handle the untrusted header values.

Affected Systems

The vulnerability is present in the open‑source web framework Bandit, distributed by mtrudel, for all releases from 1.4.0 up to (but not including) 1.12.5. No other vendors or platforms are affected according to the available CNA information.

Risk and Exploitability

The CVSS score of 6.9 indicates moderate severity, and the advisory notes that EPS likely impacts are not publicly listed. Bandit is not included in CISA’s KEV catalog. An attacker can exploit the flaw by sending a crafted HTTP/2 HEADERS block over an open connection, after which the downstream application receives the malicious header values unchanged. Successful exploitation requires that the downstream application use the header values in a vulnerable context (e.g., unsanitized logging or request construction). The lack of a direct response‑splitting or log‑splitting sink inside Bandit itself reduces immediate risk, though the potential for downstream impact remains.

Generated by OpenCVE AI on August 21, 2026 at 00:59 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Bandit version 1.12.5 or later to apply the header‑value validation fix
  • Validate or sanitize all header values in the application before use, especially when logging or forwarding requests
  • Disable or restrict HTTP/2 usage in environments where the downstream application cannot be assured to handle untrusted header values

Generated by OpenCVE AI on August 21, 2026 at 00:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 21 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 20 Aug 2026 21:15:00 +0000

Type Values Removed Values Added
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.
Title HTTP/2 header field values containing CR, LF or NUL are passed to the application unvalidated in Bandit
First Time appeared Mtrudel
Mtrudel bandit
Weaknesses CWE-93
CPEs cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*
Vendors & Products Mtrudel
Mtrudel bandit
References
Metrics cvssV4_0

{'score': 6.9, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-08-21T19:52:42.954Z

Reserved: 2026-08-18T10:30:01.764Z

Link: CVE-2026-75484

cve-icon Vulnrichment

Updated: 2026-08-21T19:52:34.995Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-08-20T21:17:09.597

Modified: 2026-08-24T16:47:56.007

Link: CVE-2026-75484

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T01:00:04Z

Weaknesses
  • CWE-93

    Improper Neutralization of CRLF Sequences ('CRLF Injection')