CVE-2026-105660 Details
Description
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.
A vulnerability in the Bandit web server package, specifically in versions 0.6.0 prior to 1.13.0, allows unauthenticated remote attackers to bypass host and port validation. This is achieved by exploiting the authority of HTTP/1 absolute-form or authority-form request targets, which can include invalid data such as non-ASCII bytes, invalid IP literals, and out-of-range port numbers. The vulnerability arises because Bandit does not properly validate the authority in these request targets, even though it rejects similar malformed data in the Host header. As a result, applications using Bandit can be tricked into generating links or responses that include this invalid or maliciously crafted host information.
Users can update to Bandit version 1.13.0 or later, where this vulnerability has been fixed. Instructions for updating can be found on the Bandit GitHub repository.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Oct 15, 2026CISA-ADP
Assessed Oct 16, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/mtrudel/bandit/security/advisories/GHSA-v53v-9hvg-37jf | CISA-ADP | AdvisoryRemedyVendor |
| https://cna.erlef.org/cves/CVE-2026-105660.html | EEF | AdvisoryExploit |
| https://github.com/mtrudel/bandit/commit/0e3edda0edf6322e9164b827c6d3ddecd080ff2e | EEF | Source CodeVendor |
| https://github.com/mtrudel/bandit/commit/6ea80210137b3f69caf65f67398934259dc365d0 | EEF | Source CodeVendor |
| https://github.com/mtrudel/bandit/security/advisories/GHSA-v53v-9hvg-37jf | EEF | AdvisoryRemedyVendor |
| https://osv.dev/vulnerability/EEF-CVE-2026-105660 | EEF | AdvisoryExploit |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-1286 | Improper Validation of Syntactic Correctness of Input | EEF |
Affected Products
| Product | Versions |
|---|---|
| mtrudel bandit | >= 0.6.0, < 1.13.0 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Oct 16, 2026 | CVE Modified | CISA-ADP |
| Oct 15, 2026 | New CVE Received | EEF |
Volerion