Skip to content
OpenAdvisories
High · 8.7 CVE-2026-111101 EEF-CVE-2026-111101EUVD-2026-109824GHSA-jwh3-j29h-qfmw

HTTP/1.1 chunked request bodies made of 1-byte chunks amplify memory use in Bandit

Published Oct 26, 2026 · Updated Oct 26, 2026 · Assigned by EEF

Description

Allocation of Resources Without Limits or Throttling vulnerability in the HTTP/1.1 chunked body reader of mtrudel bandit allows an unauthenticated remote attacker to exhaust server memory and CPU via a request body made of many 1-byte chunks.

The chunked reader in lib/bandit/http1/socket.ex keeps every chunk as its own list cell and binary term until IO.iodata_to_binary/1 joins them, and nothing limits the number of chunks. The :length option of read_body/2 counts only data bytes, so tiny chunks cost far more memory than their payload: 48 MB of 1-byte chunks grew one handler process to about 500 MB and took about 6 s of CPU. The route does not need to read the body, because on keep-alive connections ensure_completed/1 drains unread bodies through the same reader.

This issue affects bandit: from 0.1.0 before 1.14.0.

Affected products

VendorProductAffectedFixed
mtrudel bandit 0.1.0 – < 1.14.0 1.14.0

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.1.0, < 1.14.0 1.14.0 EEF-CVE-2026-111101

References