Description
Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') vulnerability in the HTTP/1.1 chunked body reader of mtrudel bandit allows an unauthenticated remote attacker to smuggle a second request past a front-end proxy via a chunk extension that contains a bare LF.

The chunked reader in lib/bandit/http1/socket.ex takes the chunk-size line to be everything up to the first CRLF and discards everything after ; without checking it against the RFC 9112 chunk-ext grammar, so bare LF, bare CR and other control bytes pass. A proxy that ends the size line at a bare LF reads 2;\nxx\r\n40\r\n... as one request whose second chunk holds a GET /admin, while Bandit ends the body early and dispatches GET /admin as a separate pipelined request. Deployments without such a proxy in front of Bandit are not affected.

This issue affects bandit: from 1.12.4 before 1.14.0.
Published: 2026-10-26
Score: 6.3 Medium
EPSS: n/a
KEV: No
Impact: HTTP Request Smuggling
Action: Apply Patch
AI Analysis

Impact

In Bandit’s HTTP/1.1 chunked body reader, the size line is parsed up to the first CRLF; everything after a semicolon is discarded without checking against the RFC 9112 chunk‑extension grammar, which allows a bare line feed or carriage return to be embedded in the extension. This oversight lets an attacker craft a request that a front‑end proxy interprets as a single request while Bandit perceives it as two separate pipelined requests, effectively smuggling a second request past the proxy. The vulnerability is unauthenticated and requires no special privileges; it can enable a remote attacker to inject requests such as GET /admin into the application.

Affected Systems

Affected deployments are those running Bandit versions 1.12.4 through 1.13.x inclusive; any instance with a front‑end proxy that forwards HTTP/1.1 chunked requests is vulnerable. Versions prior to 1.12.4 or 1.14.0 and later are not impacted. Configurations that circumvent HTTP/1.1 or do not expose Bandit behind a proxy that parses chunked bodies are safe.

Risk and Exploitability

The CVSS score of 6.3 indicates a moderate severity. EPSS is not available, so the current likelihood of exploitation cannot be quantified. The vulnerability is not listed in the CISA KEV catalog. The attack vector is exploitation of the HTTP/1.1 protocol by manipulating chunk extensions; the exploit requires a suitable proxy that does not strictly validate chunk extensions, and the attacker can remotely smuggle arbitrary requests without authentication. No local code execution or privilege escalation is required.

Generated by OpenCVE AI on October 26, 2026 at 15:52 UTC.

Remediation

Vendor Workaround

Where the front-end proxy can reach Bandit over HTTP/2, disable HTTP/1 with http_1_options: [enabled: false], so that the chunked body reader never runs.


OpenCVE Recommended Actions

  • Upgrade Bandit to version 1.14.0 or later, which contains a fixed chunked body reader implementation.
  • If an upgrade cannot be performed immediately, configure the front‑end proxy to operate only over HTTP/2 and disable HTTP/1 support with http_1_options: [enabled: false] so that Bandit never receives a chunked request.
  • Ensure the proxy rejects or sanitizes any HTTP/1.1 chunk extensions containing unprintable control characters, preventing malformed chunks from reaching Bandit.

Generated by OpenCVE AI on October 26, 2026 at 15:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 26 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 26 Oct 2026 14:00:00 +0000

Type Values Removed Values Added
Description Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') vulnerability in the HTTP/1.1 chunked body reader of mtrudel bandit allows an unauthenticated remote attacker to smuggle a second request past a front-end proxy via a chunk extension that contains a bare LF. The chunked reader in lib/bandit/http1/socket.ex takes the chunk-size line to be everything up to the first CRLF and discards everything after ; without checking it against the RFC 9112 chunk-ext grammar, so bare LF, bare CR and other control bytes pass. A proxy that ends the size line at a bare LF reads 2;\nxx\r\n40\r\n... as one request whose second chunk holds a GET /admin, while Bandit ends the body early and dispatches GET /admin as a separate pipelined request. Deployments without such a proxy in front of Bandit are not affected. This issue affects bandit: from 1.12.4 before 1.14.0.
Title Chunk extensions accept bare LF and CR, enabling request smuggling in Bandit
First Time appeared Mtrudel
Mtrudel bandit
Weaknesses CWE-444
CPEs cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*
Vendors & Products Mtrudel
Mtrudel bandit
References
Metrics cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-10-26T15:35:51.933Z

Reserved: 2026-10-23T10:45:02.529Z

Link: CVE-2026-114216

cve-icon Vulnrichment

Updated: 2026-10-26T15:33:02.440Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-26T14:16:29.613

Modified: 2026-10-26T16:59:16.113

Link: CVE-2026-114216

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-26T16:15:14Z

Weaknesses
  • CWE-444

    Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')