CVE-2026-54463
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk25th percentile - higher than 25% of all known CVEs
Summary
In the websocket-driver library before version 0.8.1, the length header in the WebSocket protocol allows encoding an arbitrarily large integer as bytes with the high bit set. A server or client can send an indefinite sequence of 0x80 or higher bytes that are parsed into an ever-growing Ruby integer.
Risk Assessment
A WebSocket connection can consume an unbounded amount of memory, leading to host process memory exhaustion and potential service crash.
Recommendation
Upgrade the websocket-driver library to version 0.8.1, which fixes this issue by limiting the size of parsed integers.
Other vulnerabilities in websocket-driver
See all- CVE-2026-61666High
websocket-driver before version 0.8.2 has a vulnerability in WebSocket::Driver.server() that passes a malformed Host header to URI.parse in lib/websocket/http/request.rb without catching URI::InvalidURIError, allowing a remote client to crash a TCP-backed WebSocket server when the application does not catch the error from parse(). This issue is fixed in version 0.8.2.
- CVE-2026-54490Medium
The websocket-driver library prior to 0.7.5, when used with the permessage-deflate extension, checks the message size limit against compressed data, not after decompression. This allows accepting messages larger than the configured maximum.
- CVE-2026-54466High
The websocket-driver library before version 0.7.5 incorrectly handles the frame length in the WebSocket protocol. By sending an indefinite sequence of bytes with the high bit set, an attacker can cause the server to parse these bytes as an ever-growing integer, leading to precision loss and incorrect payload parsing.
- CVE-2026-54465High
websocket-driver before version 0.8.1 is vulnerable to an attack where sending an HTTP request with an endless list of headers causes unbounded memory consumption in the receiving process.
- CVE-2026-54464Medium
The WebSocket library used with the permessage-deflate extension can accept messages larger than the configured maximum size. The limit is checked against the message frames' length headers, which give the size of compressed data, not the size after decompression.
Original NVD description (English source)
websocket-driver is a WebSocket protocol handler with pluggable I/O. Prior to 0.8.1, draft versions of the WebSocket protocol in websocket-driver include a length header that allows an arbitrarily large integer to be encoded as bytes with the high bit set, and a server or client can send an indefinite sequence of 0x80 or higher bytes that the peer parses into an ever-growing Ruby integer. This can make a WebSocket connection consume an unbounded amount of memory and lead to the host process running out of memory. This issue is fixed in version 0.8.1.

