CVE-2026-115269

HTTP/2 WINDOW_UPDATE and SETTINGS frames reset the request body read timeout in Bandit

State
Published
Severity
8.7 High
Published
Oct 26, 2026
Updated
Oct 26, 2026
Reserved
Oct 23, 2026

Read the record on cve.org

Description

Allocation of Resources Without Limits or Throttling vulnerability in the HTTP/2 request body reader of mtrudel bandit allows an unauthenticated remote attacker to hold stream processes open indefinitely via WINDOW_UPDATE or empty SETTINGS frames sent while a Plug reads the request body.

Bandit.HTTP2.Stream.do_read_data/4 in lib/bandit/http2/stream.ex waits for each frame with a fresh read_timeout. A stream WINDOW_UPDATE, or the zero-delta window update that every empty SETTINGS frame delivers to all streams, ends the wait without delivering any body data, and the loop starts a new full countdown. A client that sends one of these 9-byte frames before each countdown expires keeps read_body blocked, together with the stream process and whatever the application holds while reading, for as long as it likes.

This issue affects bandit: from 1.4.0 before 1.14.0.

Scores

CVSSScoreVectorSource
4.08.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NEEF

Weaknesses

  • CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')
  • CWE-770 Allocation of Resources Without Limits or Throttling

Affected Products

ProductVersions
banditmtrudel
  • 1.4.0 to before 1.14.0Affected
banditmtrudel
  • fff06efe3be962b484bd4d3eb339372fda5a231f to before 220b9dfd27f9a21305be2afc75cbe585ddc24e7aAffected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.