CVE-2026-39805: Bandit is vulnerable to CL.CL request smuggling via unrejected duplicate `Content-Length` header
Affects banditSource GCVE Database
Not known to be exploited · CVSS 6.3 Medium : upgrade to 1.11.0 when convenient.
Data as of 27 Oct 2026, 02:39 UTC
- Patch
- Available – fixed in 1.11.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 1 May 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade bandit to 1.11.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| Hexbandit | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fix is available in Bandit version 1.11.0, which correctly rejects requests containing multiple Content-Length headers with differing values. Users should upgrade to version 1.11.0 or later. If upgrading is not immediately possible, ensure that any fronting proxies or load balancers strictly reject requests with multiple differing Content-Length headers to prevent request smuggling. Major CDNs and load balancers such as Cloudflare, AWS ALB, nginx (default strict mode), and HAProxy already reject such requests by default.
Description
Bandit versions prior to 1.11.0 are vulnerable to HTTP request smuggling due to improper handling of multiple differing Content-Length headers. Bandit accepts the first Content-Length header and dispatches the request body bytes as a second request on the same connection, violating RFC 9110 and RFC 9112 specifications. This can allow an unauthenticated attacker to bypass edge security controls like WAFs, ACLs, rate limiting, and audit logging if Bandit is behind a permissive proxy that uses the last Content-Length header. The vulnerability was introduced before version 0.1.0 and fixed in version 1.11.0.
References
- github.com/mtrudel/bandit/security/advisories/GHSA-c67r-gc9j-2qf7 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-39805 (opens in a new tab)
- github.com/mtrudel/bandit/commit/f2ca636eb6df385219957e8934e9fc6efa1630d1 (opens in a new tab)
- cna.erlef.org/cves/CVE-2026-39805.html (opens in a new tab)
- github.com/mtrudel/bandit (opens in a new tab)
- osv.dev/vulnerability/EEF-CVE-2026-39805 (opens in a new tab)