CVE-2026-113436 PUBLISHED

Quadratic bignum parsing of Content-Length and Host port values in Bandit

Assigner: EEF
Reserved: 23.10.2026 Published: 26.10.2026 Updated: 26.10.2026

Inefficient Algorithmic Complexity vulnerability in the header integer parser of mtrudel bandit allows an unauthenticated remote attacker to consume server CPU via a content-length value or a Host or :authority port made of thousands of digits.

Bandit.Headers.parse_integer/2 in lib/bandit/headers.ex builds the number one digit at a time with no limit on the digit count, allocating a new bignum at each step, so one value costs time quadratic in its length. It runs on raw request input over HTTP/1 and HTTP/2, before any range check. Over HTTP/2, a 4,000-digit value can be stored once in the HPACK dynamic table and re-sent on each new stream for about one byte: 124 KB of traffic kept the server busy for 27.9 s.

This issue affects bandit: from 1.0.0-pre.7 before 1.14.0.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS Score: 8.7

Product Status

Vendor mtrudel
Product bandit
Versions Default: unaffected
  • affected from 1.0.0-pre.7 to 1.14.0 (excl.)
Vendor mtrudel
Product bandit
Versions Default: unaffected
  • affected from e0c8c0c30af9b0f57d8aafac37ddd9294363a8be to 220b9dfd27f9a21305be2afc75cbe585ddc24e7a (excl.)

Credits

  • Peter Ullrich reporter
  • Mat Trudel remediation developer
  • Jonatan Männchen / EEF analyst

References

Problem Types

  • CWE-407 Inefficient Algorithmic Complexity CWE

Impacts

  • An unauthenticated client can make the server spend CPU time out of all proportion to the traffic it sends (27.9 s for 124 KB in the reporter's test). This affects any Bandit server reachable by untrusted clients over HTTP/1 or HTTP/2, with no special configuration.