CVE-2026-114213

WebSocket 1-byte continuation frames bypass `max_fragmented_message_size` in Bandit

Published Oct 26, 2026 CVSS 4.0 · 8.7 High EPSS < 1% KEV · Not listed
Description
Allocation of Resources Without Limits or Throttling vulnerability in the WebSocket fragment reassembly of mtrudel bandit allows an unauthenticated remote attacker to exhaust server memory via a fragmented message made of many 1-byte continuation frames.

Bandit.WebSocket.Connection checks max_fragmented_message_size against the payload bytes received, but keeps every non-final continuation frame as a new list cell around its own binary, and nothing limits the number of fragments. A 1-byte fragment costs 7 bytes on the wire but about 150 to 170 bytes of server memory, so one connection can hold about 150 times the configured limit, roughly 1.2 to 1.4 GB at the default 8 MB. Ping frames between fragments keep the connection alive past the idle timeout.

This issue affects bandit: from 1.11.0 before 1.14.0.

Analysis

AI-generated

Technical impact

The vulnerability is an allocation of resources without limits or throttling in the WebSocket fragment reassembly of Bandit. An unauthenticated remote attacker can send a fragmented message composed of many 1‑byte continuation frames. Each 1‑byte fragment consumes roughly 150‑170 bytes of server memory, allowing an attacker to exhaust up to about 1.2–1.4 GB per connection on the default 8 MB limit, potentially causing a denial of service.

Affected Systems

Bandit (mtrudel:bandit) versions 1.11.0 through 1.13.9 are affected. The issue does not exist in 1.14.0 or newer.

Risk and Exploitability

The CVSS score is 8.7, indicating a high severity. EPSS is not available and the vulnerability is not listed in CISA’s Known Exploited Vulnerabilities catalog. The attack vector is an unauthenticated remote connection to a WebSocket endpoint, where the attacker sends many 1‑byte continuation frames that bypass the max_fragmented_message_size check. The default logic stores each non‑final continuation frame in a separate list cell, so an attacker can consume server memory with a single persistent connection and may crash or degrade the service.

Remediation

Vendor Workaround

Lower websocket_options: [max_fragmented_message_size: ...] to the largest fragmented message the application needs, for example 65_536. Memory per connection stays at about 150 times this limit, so a lower limit lowers the ceiling.


OpenCVE Recommended Actions

  • Upgrade to Bandit version 1.14.0 or newer
  • Configure websocket_options.max_fragmented_message_size to a lower value, such as 65536 bytes
  • Limit or rate‑limit connections to the WebSocket endpoint to mitigate potential denial‑of‑service attacks

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
Description Allocation of Resources Without Limits or Throttling vulnerability in the WebSocket fragment reassembly of mtrudel bandit allows an unauthenticated remote attacker to exhaust server memory via a fragmented message made of many 1-byte continuation frames. Bandit.WebSocket.Connection checks max_fragmented_message_size against the payload bytes received, but keeps every non-final continuation frame as a new list cell around its own binary, and nothing limits the number of fragments. A 1-byte fragment costs 7 bytes on the wire but about 150 to 170 bytes of server memory, so one connection can hold about 150 times the configured limit, roughly 1.2 to 1.4 GB at the default 8 MB. Ping frames between fragments keep the connection alive past the idle timeout. This issue affects bandit: from 1.11.0 before 1.14.0.
Title WebSocket 1-byte continuation frames bypass `max_fragmented_message_size` in Bandit
First Time appeared Mtrudel
Mtrudel bandit
Weaknesses CWE-770
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'}

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling

Sources

Status
PUBLISHED
Assigner
EEF
Published
Updated
Oct 26, 2026, 3:35 PM
Reserved
Oct 23, 2026, 9:15 AM
Status
Awaiting Analysis
Published
Oct 26, 2026, 2:16 PM
Modified
Oct 26, 2026, 4:59 PM