What’s Vulnerable › Vulnerabilities
CVE-2026-109584: HTTP/2 cookie crumb join expands a small HPACK header block into an unbounded allocation in Bandit
- Severity: high (CVSS 8.7 v4.0)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-26 · updated 2026-10-26
- Weakness: CWE-409
Description
Improper Handling of Highly Compressed Data (Data Amplification) vulnerability in the HTTP/2 implementation of mtrudel bandit allows an unauthenticated remote attacker to exhaust server memory via a small HPACK-compressed HEADERS block. The block stores one large cookie value in the HPACK dynamic table and then references it tens of thousands of times with 1-byte indexed fields. In the reporter's run, a 49 KB block made a server with default settings allocate a 183 MB cookie binary before any application code ran, and every concurrent stream can repeat the cost. Bandit.HTTP2.Connection caps only the compressed block (max_header_block_size), and its check of the decoded list against max_header_list_size never fires because that setting defaults to :infinity. combine_cookie_crumbs/1 in lib/bandit/http2/stream.ex then joins every crumb into one binary. This issue affects bandit: from 0.3.3 before 1.14.0.
Affected products
- mtrudel bandit: from 0.3.3 before 1.14.0 — fixed in 1.14.0
How to fix
Upgrade to a fixed version: mtrudel bandit 1.14.0. Check the vendor advisory for mitigations.
References
- https://cna.erlef.org/cves/CVE-2026-109584.html
- https://github.com/mtrudel/bandit/commit/220b9dfd27f9a21305be2afc75cbe585ddc24e7a
- https://github.com/mtrudel/bandit/commit/44bf969cd59851622fb6ee4d16227fbc39a77fb4
- https://github.com/mtrudel/bandit/security/advisories/GHSA-7gfj-7gvq-3xqj
- https://osv.dev/vulnerability/EEF-CVE-2026-109584
Get alerted when CVE-2026-109584 or the next vulnerability affects your stack