CVE-2026-116078

HTTP/2 request bodies made of 1-byte DATA frames amplify memory use in Bandit

HIGH
8.7
CVSS Score
Published: October 28, 2026 at 01:26 PM UTC
Updated: October 28, 2026 at 03:24 PM UTC
1 product affected across 1 vendorBandit

Using bandit by mtrudel?

Get instant alerts when new vulnerabilities affect bandit - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH8.7
Exploit prediction
EPSS 0.5%

Description

Allocation of Resources Without Limits or Throttling vulnerability in the HTTP/2 request body reader of mtrudel bandit allows an unauthenticated remote attacker to exhaust server memory via a request body sent as many 1-byte DATA frames. do_read_data/5 in lib/bandit/http2/stream.ex keeps every DATA frame payload as its own list element until the read returns. The :length option of read_body/2 counts body bytes, not frames, so a body of 1-byte frames costs a list cell and a binary term per byte. Interleaving the frames across up to 500 concurrent streams per connection keeps each stream consuming its frames as they arrive; in the reporter's test, 100 streams held 25 to 40 MiB of stream process memory for 5 MB sent. Only routes whose Plug reads the request body are affected, which includes any route behind Plug.Parsers. This issue affects bandit: from 0.3.1 before 1.14.1.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

0.3.1c8dc1e97050cf359f61ed6cdd110f3cdaf1d6f5f

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

CVSS

8.7HIGHEEF
Vector?

Quick Info

StatusDEFERRED
CWE
CWE-770

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card