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.
Published: 2026-10-26
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: Remote Memory Exhaustion
Action: Apply Patch
AI Analysis

Impact

The vulnerability is in the HTTP/2 implementation of the Bandit web server. A small, HPACK‑compressed HEADERS block that contains a large cookie value can be referenced thousands of times through 1‑byte indexed fields. When the server expands the cookie crumbs, it subsequently allocates a binary that is far larger than the compressed size, leading to an unbounded memory allocation. Because the vulnerability is triggered before any application code runs, an attacker can cause the server to consume large amounts of memory and potentially crash or become unresponsive. The flaw is an instance of Improper Limitation of Input Size (CWE‑409).

Affected Systems

The issue affects the Bandit web server from version 0.3.3 up to, but not including, 1.14.0. The affected package is maintained by mtrudel. No other products or versions are listed.

Risk and Exploitability

The CVSS score of 8.7 classifies the problem as high severity, and the vulnerability can be triggered by an unauthenticated remote attacker who can send a crafted HTTP/2 request from any network source. The EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog. An attacker that understands the HPACK format or who can leverage the Bandit server in a high‑traffic environment could repeatedly trigger memory exhaustion, potentially resulting in denial of service. Since the attacker needs only to send data, no additional privilege is required and the attack can be performed over any HTTP/2 enabled proxy or directly to the Bandit server.

Generated by OpenCVE AI on October 26, 2026 at 15:51 UTC.

Remediation

Vendor Workaround

On 1.12.2 and later, set a finite decoded header list limit, for example http_2_options: [default_local_settings: [max_header_list_size: 65_536]], which resets the stream before the cookie crumbs are joined. From 0.7.0, disabling HTTP/2 with http_2_options: [enabled: false] removes the vulnerable path.


OpenCVE Recommended Actions

  • Apply the Bandit 1.14.0 or later release, which removes the vulnerable HTTP/2 cookie crumb join logic.
  • If an upgrade is not possible, configure the server with a finite max_header_list_size, for example \"http_2_options: [default_local_settings: [max_header_list_size: 65536]]\" to force a stream reset before the crumbs are joined.
  • Disable HTTP/2 entirely by setting \"http_2_options: [enabled: false]\" from version 0.7.0 onward.

Generated by OpenCVE AI on October 26, 2026 at 15:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 26 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 26 Oct 2026 14:00:00 +0000

Type Values Removed Values Added
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.
Title HTTP/2 cookie crumb join expands a small HPACK header block into an unbounded allocation in Bandit
First Time appeared Mtrudel
Mtrudel bandit
Weaknesses CWE-409
CPEs cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*
Vendors & Products Mtrudel
Mtrudel bandit
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-10-26T15:35:51.081Z

Reserved: 2026-10-22T10:15:01.793Z

Link: CVE-2026-109584

cve-icon Vulnrichment

Updated: 2026-10-26T15:32:36.017Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-26T14:16:25.000

Modified: 2026-10-26T16:59:16.113

Link: CVE-2026-109584

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-26T16:00:18Z

Weaknesses
  • CWE-409

    Improper Handling of Highly Compressed Data (Data Amplification)