Skip to content
OpenAdvisories
High · 8.7 CVE-2026-116078 EEF-CVE-2026-116078EUVD-2026-112087GHSA-pxjf-g536-7r93

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

Published Oct 28, 2026 · Updated Nov 5, 2026 · Assigned by EEF

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 products

VendorProductAffectedFixed
mtrudel bandit 0.3.1 – < 1.14.1 1.14.1

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Ubuntu 26.10 bandit No fix yet —
Ubuntu 26.04 LTS bandit No fix yet —
Ubuntu 24.04 LTS bandit No fix yet —
Ubuntu 22.04 LTS bandit No fix yet —
Ubuntu 20.04 LTS bandit No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 18.04 LTS bandit No fix yet —
Ubuntu 16.04 LTS bandit No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
Hex bandit >= 0.3.1, < 1.14.1 1.14.1 EEF-CVE-2026-116078

References