CVE-2026-109584 HTTP/2 cookie crumb join expands a small HPACK header block into an unbounded allocation in Bandit

High 8.7 Published Updated
Exploited in the wild
Not known
Fix
Available

What is CVE-2026-109584?

CVE-2026-109584 is a high-severity vulnerability in mtrudel bandit, published on 26 Oct 2026.

Official 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.

Weakness: CWE-409

Which versions are affected by CVE-2026-109584?

1 open source package ship an affected version, including bandit.

PackageAffectedFixed in
bandit HexFrom 0.3.31.14.0

How do I fix CVE-2026-109584?

Upgrade bandit to 1.14.0 or later.

Is CVE-2026-109584 being exploited?

There is no known exploitation of CVE-2026-109584 in the wild and no public exploit code.

Sources

Also known as EEF-CVE-2026-109584, GHSA-7gfj-7gvq-3xqj, UBUNTU-CVE-2026-109584.

Is CVE-2026-109584 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free