Summary
CVE-2026-19204 is a denial-of-service vulnerability in Eclipse Jetty’s WebSocket implementation, caused by uncontrolled resource allocation when handling malformed frames. A remote, unauthenticated attacker can send a WebSocket frame with an unknown opcode and an extremely large declared payload length to force the server to attempt a massive memory allocation, potentially exhausting the JVM heap and crashing the affected service. The issue carries a HIGH severity rating.
Technical details
- Root cause: When auto-fragmentation is enabled, Jetty allocates a buffer for the declared payload size before it validates the frame’s opcode. Unknown opcodes bypass the standard maximum frame size checks that would normally reject an oversized frame.
- Trigger condition: A WebSocket connection must be established to an affected Jetty endpoint with auto-fragmentation enabled; the attacker then sends a frame using a non-standard/unknown opcode along with an inflated payload length field.
- Attack vector: Network — no authentication or user interaction required.
- Impact: Excessive memory allocation can exhaust available JVM heap, leading to denial of service (application unavailability) for the affected Jetty instance. No confidentiality or integrity impact is reported.
- Weaknesses: CWE-770 (Allocation of Resources Without Limits or Throttling) and CWE-789 (Memory Allocation with Excessive Size Value).
Affected software
- Eclipse Jetty 12.1.0 through 12.1.11
- Eclipse Jetty 12.0.0 through 12.0.37
- Eclipse Jetty 11.0.0 through 11.0.31
- Eclipse Jetty 10.0.0 through 10.0.31
Severity
- CVSS v4.0 Base Score: 8.7 (High)
- 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
Mitigation and recommended actions
- Immediate: Upgrade to Jetty 12.0.38 or Jetty 12.1.12, which include public fixes for this issue.
- Note on 10.x/11.x: These lines reached end-of-life for public releases (Maven Central publication for the 9.x/10.x/11.x lines stopped January 1, 2026); no public patched build beyond 10.0.31/11.0.31 exists. Organizations still running Jetty 10.x or 11.x should migrate to a supported 12.x release, or obtain a fix through a commercial extended-support channel if migration is not immediately possible.
- If patching is delayed: Disable or restrict WebSocket auto-fragmentation where feasible, and place WebSocket endpoints behind a proxy/load balancer or WAF capable of enforcing frame size and opcode validation, and monitor JVM heap usage for anomalous spikes correlated with WebSocket traffic.
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- HTTP response header
Server: value containingJetty, optionally followed by a version in parentheses, e.g.Jetty(12.1.11)

