Vulnerability in Mtrudel Bandit

CVE-2026-39805

Inconsistent Interpretation of HTTP Requests vulnerability in mtrudel bandit allows HTTP request smuggling via duplicate Content-Length headers. 'Elixir.Bandit.Headers':get_content_length/1 in lib/bandit/headers.ex uses List.keyfind/3, which returns only the first matching header. When a request contains two Content-Length headers with different values, Bandit silently accepts it, uses the first value to read the body, and dispatches the remaining bytes as a second pipelined request on the same keep-alive connection. RFC 9112 §6.3 requires recipients to treat this as an unrecoverable framing error. When Bandit sits behind a proxy that picks the last Content-Length value and forwards the request rather than rejecting it, an unauthenticated attacker can smuggle requests past edge WAF rules, path-based ACLs, rate limiting, and audit logging. This issue affects bandit: before 1.11.0.

Vulnerability class: HTTP Request Smuggling

Published · last modified .

EPSS exploit prediction

EPSS: 0.005 (45.1th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 45th percentile — 45.1% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2026-39805: held from 0.005 to 0.005.

EPSS over last 30 days · oldest: 0.005 · newest: 0.005 · change: 0.000

Affected products

  • Mtrudel Bandit — versions 0.1.0, 7bc8d97cd22697c299baa8012b7f419a7606a80c, 0

Weakness classification (CWE)

References