Answer in brief
CVE-2026-109584 records a High severity (CVSS 8.7) vulnerability in HTTP/2 cookie crumb join expands a small HPACK header block into an unbounded allocation in Bandit. The current sources do not mark it as known exploited. The current feed maps mtrudel/bandit (generic), mtrudel/mtrudel/bandit (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 8.7. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps mtrudel/bandit (generic), mtrudel/mtrudel/bandit (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| mtrudel/banditgeneric | >=0.3.3 <1.14.0 | 1.14.0 |
| mtrudel/mtrudel/banditgeneric | >=44bf969cd59851622fb6ee4d16227fbc39a77fb4 <220b9dfd27f9a21305be2afc75cbe585ddc24e7a | 220b9dfd27f9a21305be2afc75cbe585ddc24e7a |
Published upstream
Oct 26, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Oct 26, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Oct 26, 2026
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.
Quoted source text, attributed separately from HOL analysis.