Read the docs
TI-2026-74879 Aliases CVE-2026-105660

Bandit trusts request-target authority, letting clients set conn.host

Priority HIGH 70CWE-1286Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
None · Low · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA.

Summary

Bandit from 0.6.0 before 1.13.0 accepts the authority of an HTTP/1 request target without validating it. Because that authority takes precedence over the Host header, an unauthenticated remote attacker can set conn.host and conn.port to values outside the RFC 3986 host grammar (CWE-1286). Applications that build absolute URLs from conn.host, for example with Plug.Conn.request_url/1, can then emit links with an authority the attacker chose.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

Improper Validation of Syntactic Correctness of Input vulnerability in mtrudel bandit allows an unauthenticated remote attacker to set conn.host and conn.port to values outside the RFC 3986 host grammar via the authority of an HTTP/1 absolute-form or authority-form request target. Bandit validates the Host header and answers 400 when it is malformed, but when the request target carries its own authority that authority takes precedence, as RFC 9112 requires, and Bandit.Pipeline.determine_host_and_port!/4 in lib/bandit/pipeline.ex passes it to the application unchecked. A request line such as GET http://[email protected]/x HTTP/1.1 with a valid Host header yields a conn.host of [email protected], and the same path admits NUL, DEL and non-ASCII bytes, invalid IP literals and ports outside 1..65535. The HTTP/1.0 clause needs no Host header at all, and CONNECT places the unparsed port string in conn.port. Applications that build absolute URLs from conn.host, such as through Plug.Conn.request_url/1 or Phoenix URL helpers, emit links whose authority the attacker chose. Message framing is unaffected, and no CR or LF can reach conn.host. This issue affects bandit: from 0.6.0 before 1.13.0.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00618 49th percentileScored 2026-11-07
Fix Fixed bandit (mtrudel): 1.13.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
mtrudelbandit0.6.0 to before 1.13.01.13.0Patch availableCNA
  • bandit Vendormtrudel Affected 0.6.0 to before 1.13.0 Fixed in 1.13.0 Patch available CNA

CPE names CNA · 1

CPEVersionsRoleVendor
cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*——mtrudel
  • cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:* Versions — — ·mtrudel

Remediation

Bandit 1.13.0 fixes this issue, so upgrade to that version or later.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA bandit (mtrudel) Fixed in 1.13.0

Timeline

  1. 2026-10-16 Threatist record created from CVE-2026-105660
  2. 2026-10-16 Priority changed: MEDIUM → LOW
  3. 2026-10-18 CISA SSVC decision points changed
  4. 2026-10-18 Priority changed: LOW → HIGH

References

  • TI-2026-81989 HTTP/2 request bodies made of 1-byte DATA frames amplify memory use in Bandit CVSS 4.0HIGH 8.7
  • TI-2026-74311 Bandit HTTP/2 send timers reset, letting trickles pin stream processes CVSS 4.0HIGH 8.7
  • TI-2026-52571 HTTP/2 connection-window starvation pins Plug processes indefinitely in Bandit CVSS 4.0HIGH 8.7
  • TI-2026-46780 Quadratic CPU blow-up reassembling fragmented WebSocket messages in Bandit CVSS 4.0HIGH 8.7
  • TI-2026-31007 WebSocket fragmented message reassembly unbounded in bandit CVSS 4.0HIGH 8.7
  • TI-2026-28689 HTTP/1 chunked decoder infinite loop on requests with trailer fields in bandit CVSS 4.0HIGH 8.7
See all 23 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences