ZeroHour

CVE-2026-19204

large

Unauthenticated heap-exhaustion DoS in Eclipse Jetty WebSocket

CVSS 4.0
8.7 high
EPSS
<1%p22
Published
()
Modified
AI analysis

Eclipse Jetty's WebSocket implementation allocates memory for a frame's declared payload length before validating the frame's opcode, so an unauthenticated network client can trigger a very large allocation by sending a single frame with an unknown opcode and an oversized declared payload length. This happens when WebSocket auto-fragmentation is enabled, because unknown opcodes bypass the normal maximum frame size handling. An attacker gains denial of service by exhausting the JVM heap, degrading or crashing the affected service (high availability impact, no confidentiality or integrity impact per the CVSS vector). Affected are any deployments running Jetty's WebSocket server with auto-fragmentation enabled that accept connections from untrusted clients. There is no known public proof of concept, it is not in the CISA KEV catalog, and EPSS currently puts 30-day exploitation probability at only 0.3% (22nd percentile).

What to do: Upgrade Jetty to the patched release for CVE-2026-19204 when available (fixed versions were not specified in the provided data) and prioritize deployments that run WebSocket servers with auto-fragmentation enabled and untrusted client access. As interim mitigation, restrict network access to WebSocket endpoints and monitor JVM heap for abnormal allocations; note that standard maximum-frame-size configuration may not prevent this because unknown opcodes bypass that check.

Affected
Eclipse Jetty (WebSocket server implementation)
Estimated exposure
largeplausibly tens of thousands of internet-exposed Jetty instances (est.) — Jetty is one of the most widely embedded Java HTTP/servlet engines, public internet scans routinely surface tens of thousands of Jetty-bannered hosts, and the practically affected subset is those deployments exposing WebSocket endpoints…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

A client may send a WebSocket frame with an unknown opcode and a very large declared payload length, causing Jetty to attempt a large memory allocation and potentially exhaust the JVM heap. This occurs when auto-fragmentation is enabled, as unknown opcodes bypass the normal maximum frame size handling and payload allocation occurs before the opcode is validated.

Weakness
CWE-770, CWE-789
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/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

In the news

No ingested article mentions this CVE yet.