6.9
MEDIUM CVSS 4.0
CVE-2026-75484
HTTP/2 header field values containing CR, LF or NUL are passed to the application unvalidated in Bandit
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.

INFO

Published Date :

Aug. 20, 2026, 9:17 p.m.

Last Modified :

Aug. 20, 2026, 9:17 p.m.

Remotely Exploit :

Yes !

Source :

6b3ad84c-e1a6-4bf7-a703-f496b71e49db
Affected Products

The following products are affected by CVE-2026-75484 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Mtrudel bandit
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 4.0 MEDIUM 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
CVSS 4.0 MEDIUM 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
Solution
Update mtrudel bandit to version 1.12.5 or later to fix CRLF injection.
  • Update bandit to a version that includes the fix.
  • Ensure downstream applications sanitize header values.
  • Validate header values for CR, LF, or NUL characters.
  • Reject duplicate pseudo-header :authority.
References to Advisories, Solutions, and Tools

Here, you will find a curated list of external links that provide in-depth information, practical solutions, and valuable tools related to CVE-2026-75484.

URL Resource
https://cna.erlef.org/cves/CVE-2026-75484.html
https://github.com/mtrudel/bandit/commit/d38cf046c9a3cae4d0f88001c2ceb4143f86366b
https://github.com/mtrudel/bandit/security/advisories/GHSA-x3gh-xhj4-3vq8
https://osv.dev/vulnerability/EEF-CVE-2026-75484
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-75484 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-75484 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-75484 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-75484 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • New CVE Received by 6b3ad84c-e1a6-4bf7-a703-f496b71e49db

    Aug. 20, 2026

    Action Type Old Value New Value
    Added Affected [{'cpes': ['cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*'], 'repo': 'https://github.com/mtrudel/bandit', 'vendor': 'mtrudel', 'modules': ["'Elixir.Bandit.HTTP2.Stream'"], 'product': 'bandit', 'versions': [{'status': 'affected', 'version': '1.4.0', 'lessThan': '1.12.5', 'versionType': 'semver'}], 'packageURL': 'pkg:hex/bandit', 'packageName': 'bandit', 'programFiles': ['lib/bandit/http2/stream.ex'], 'collectionURL': 'https://repo.hex.pm', 'defaultStatus': 'unaffected', 'programRoutines': [{'name': "'Elixir.Bandit.HTTP2.Stream':read_headers/1"}]}, {'cpes': ['cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*'], 'repo': 'https://github.com/mtrudel/bandit', 'vendor': 'mtrudel', 'modules': ["'Elixir.Bandit.HTTP2.Stream'"], 'product': 'bandit', 'versions': [{'status': 'affected', 'version': 'fff06efe3be962b484bd4d3eb339372fda5a231f', 'lessThan': 'd38cf046c9a3cae4d0f88001c2ceb4143f86366b', 'versionType': 'git'}], 'packageURL': 'pkg:github/mtrudel/bandit', 'packageName': 'mtrudel/bandit', 'programFiles': ['lib/bandit/http2/stream.ex'], 'collectionURL': 'https://github.com', 'defaultStatus': 'unaffected', 'programRoutines': [{'name': "'Elixir.Bandit.HTTP2.Stream':read_headers/1"}]}]
    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.
    Added CVSS V4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
    Added CWE CWE-93
    Added Reference https://cna.erlef.org/cves/CVE-2026-75484.html
    Added Reference https://github.com/mtrudel/bandit/commit/d38cf046c9a3cae4d0f88001c2ceb4143f86366b
    Added Reference https://github.com/mtrudel/bandit/security/advisories/GHSA-x3gh-xhj4-3vq8
    Added Reference https://osv.dev/vulnerability/EEF-CVE-2026-75484
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.