Impact
The Bandit HTTP server incorrectly handles requests that contain two Content-Length headers with different values. Internally it uses a key‑find function that returns only the first header, so it reads the request body based on that first value. Bytes following the body are interpreted as a second pipelined request on the same keep‑alive connection, contrary to RFC 9112 §6.3 which requires treating such a violation as an unrecoverable framing error. When Bandit sits behind a proxy that forwards the last Content-Length header instead of rejecting the request, an attacker can smuggle a second request past application‑level controls such as WAFs, ACLs, rate limiting and audit logging.
Affected Systems
The vulnerability affects the Bandit web server from the mtrudel vendor. Any installation built from the source code prior to version 1.11.0 is susceptible, regardless of deployment configuration.
Risk and Exploitability
The CVSS base score of 6.3 indicates medium severity, the EPSS score is not available, and the flaw is not listed in CISA KEV. Exploitation requires an attacker to craft a request containing duplicate Content-Length headers and to rely on an upstream proxy or load balancer that forwards the request unchanged. If such a proxy exists, the attacker can smuggle a second request through perimeter defenses, potentially compromising application logic or revealing logs.
OpenCVE Enrichment