PT-2026-123295
CVE-2026-109584
·
Published
2026-10-26
·
Updated
2026-10-26
Description by
CVSS 4.0
8.7
HighMetricsAV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Name of the Vulnerable Software and Affected Versions
bandit versions 0.3.3 through 1.13.x
Description
An unauthenticated remote attacker can cause server memory exhaustion through a data amplification issue in the HTTP/2 implementation. By sending a small HPACK-compressed HEADERS block that stores a large
cookie value in the HPACK dynamic table and references it tens of thousands of times, the attacker can force the server to allocate a massive binary. This occurs because Bandit.HTTP2.Connection only limits the compressed block size via max header block size, while the max header list size setting defaults to :infinity, failing to reject the expanded list. The function combine cookie crumbs/1 in lib/bandit/http2/stream.ex then joins these references into a single large binary. Since max concurrent streams also defaults to :infinity, multiple concurrent streams can multiply this memory consumption, potentially crashing all applications on the BEAM node.Recommendations
Update bandit to version 1.14.0 or later.
As a temporary workaround for versions 1.12.2 and later, set a finite decoded header list limit by configuring
http 2 options: [default local settings: [max header list size: 65 536]].
As a temporary workaround for versions 0.7.0 and later, disable HTTP/2 by configuring http 2 options: [enabled: false]. Found an issue in the description? Have something to add? Feel free to write us 👾