All vulnerabilities
CVE-2026-109584GHSA-7gfj-7gvq-3xqj

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

mtrudel bandit
CVSS
8.7High
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in1.14.0Also 220b9dfd27f9a21305be2afc75cbe585ddc24e7aCVE List
Published26 Oct 2026Updated 26 Oct 2026CVE List

What fixes it

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

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.

Text from CVE List

Affected versions 2

  • banditaffected: 0.3.3 before 1.14.0CVE List
  • banditaffected: 44bf969cd59851622fb6ee4d16227fbc39a77fb4 before 220b9dfd27f9a21305be2afc75cbe585ddc24e7aCVE List

References 5