CVE-2026-108529
Awaiting Analysis Awaiting Analysis - Queue

HTTP/2 DoS via Algorithmic Complexity in Bandit

Vulnerability report for CVE-2026-108529, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-26

Last updated on: 2026-10-26

Assigner: EEF

Description

Inefficient Algorithmic Complexity vulnerability in the HTTP/2 implementation of mtrudel bandit allows an unauthenticated remote attacker to exhaust server CPU via small SETTINGS or connection-level WINDOW_UPDATE frames. The attacker opens thousands of streams whose responses block on the connection send window, then sends cheap frames that each make the server walk the whole queue of blocked sends. In the reporter's run, with 3,000 blocked streams a single 9-byte SETTINGS frame took 133 ms to process. do_pending_sends/2 in lib/bandit/http2/connection.ex retries every queued send and, before each retry, removes that entry from the queue with List.delete/2, so one frame costs O(nΒ²) list operations for n blocked streams. max_concurrent_streams defaults to :infinity, so the attacker chooses n. This issue affects bandit: from 0.3.4 before 1.14.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-26
Last Modified
2026-10-26
Generated
2026-10-26
AI Q&A
2026-10-26
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
mtrudel bandit 0.3.4
mtrudel bandit 6feadb31189d18b7dcda6c663112cd3bbaf63a46

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-407 An algorithm in a product has an inefficient worst-case computational complexity that may be detrimental to system performance and can be triggered by an attacker, typically using crafted manipulations that ensure that the worst case is being reached.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is an Inefficient Algorithmic Complexity vulnerability in the HTTP/2 implementation of the Bandit web server library. An unauthenticated remote attacker can exploit it by opening thousands of HTTP/2 streams with blocked responses. By sending small SETTINGS or WINDOW_UPDATE frames, the attacker forces the server to process a queue of blocked streams inefficiently, consuming excessive CPU resources.

Detection Guidance

Monitor for unusual CPU spikes or slow HTTP/2 responses. Check Bandit server logs for excessive processing times on SETTINGS or WINDOW_UPDATE frames. Use network traffic analysis tools like Wireshark to detect high volumes of small HTTP/2 frames from the same source.

Impact Analysis

This vulnerability can lead to CPU exhaustion and denial of service. Attackers can starve system resources, causing delays or failures in processing legitimate requests. For example, a single 9-byte frame with 3,000 blocked streams caused a 133 ms delay.

Mitigation Strategies
  • Upgrade Bandit to version 1.14.0 or later to apply the official patch.
  • Set max_concurrent_streams to a reasonable limit to prevent excessive stream creation.
  • Disable HTTP/2 if not required, falling back to HTTP/1.1.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-108529. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart