HTTP Request Smuggling Affecting bandit package, versions >=1.12.4 <1.14.0


Severity

Recommended
0.0
medium
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.6% (49th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-HEX-BANDIT-21755427
  • published27 Oct 2026
  • disclosed26 Oct 2026
  • creditPeter Ullrich

Introduced: 26 Oct 2026

NewCVE-2026-114216  (opens in a new tab)
CWE-444  (opens in a new tab)

How to fix?

Upgrade bandit to version 1.14.0 or higher.

Overview

bandit is a HTTP server for Plug and WebSock apps.

Affected versions of this package are vulnerable to HTTP Request Smuggling via Bandit.HTTP1.Socket.do_parse_chunk_size/2, which passes the full chunk-size line, including any chunk extension (e.g. 3;ext=value), directly to String.to_integer/2. Because that string is not valid hex, the call raises an ArgumentError, crashing the connection process with a 500 response and a stack trace. An attacker can send a chunked-encoded request whose chunk-size line contains a semicolon-delimited extension to trigger the crash, or craft a body where a bare LF terminates the chunk-size line to desynchronize a front-end proxy and smuggle a second request to a back-end.

PoC

1. Run Bandit with a Plug that reads the body and records each request's method and path.
2. On one connection, send `POST /public` with `Transfer-Encoding: chunked` and the body `2;\nxx\r\n40\r\n0\r\n\r\n`, followed directly by `GET /admin HTTP/1.1` with `Content-Length: 7` and the body `\r\n0\r\n\r\n`.
3. Bandit dispatches both `POST /public` with the body `40` and `GET /admin`. A proxy that ends lines at a bare LF would have forwarded the same bytes as the single `POST /public`.

Note: The PoC section describes steps using a Bandit server with a Plug that reads the body, but states no specific version, runtime, or OS.

CVSS Base Scores

version 4.0
version 3.1