Skip to main content

websocket-driver EUVDEUVD-2026-45310

| CVE-2026-54463 MEDIUM
Uncontrolled Resource Consumption (CWE-400)
2026-07-15 https://github.com/faye/websocket-driver-ruby GHSA-ghhp-3qvg-889p
6.9
CVSS 4.0 · Vendor: https://github.com/faye/websocket-driver-ruby
Share

Severity by source

Vendor (https://github.com/faye/websocket-driver-ruby) PRIMARY
6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L/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
vuln.today AI
7.5 HIGH

Network-reachable WebSocket endpoint, low complexity byte stream attack, no privileges required at protocol layer; pure availability impact, no confidentiality or integrity effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Red Hat
7.5 HIGH
qualitative

Primary rating from Vendor (https://github.com/faye/websocket-driver-ruby).

CVSS VectorVendor: https://github.com/faye/websocket-driver-ruby

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
CVSS changed
Jul 17, 2026 - 20:22 NVD
6.9 (MEDIUM)
Source Code Evidence Fetched
Jul 15, 2026 - 22:31 vuln.today
Analysis Generated
Jul 15, 2026 - 22:31 vuln.today

DescriptionCVE.org

Impact

The frame format in draft versions of the WebSocket protocol includes a length header that allows an arbitrarily large integer to be encoded as a sequence of bytes with the high bit set. By sending an indefinite sequence of bytes with values 0x80 or above, a server or client can make the other peer parse these bytes into an ever-growing integer. Since Ruby integers are arbitrary precision, this can be used to make a WebSocket connection consume an unbounded amount of memory and lead to the host process running out of memory.

Patches

The issue has been patched in version 0.8.1. All users should upgrade to this version.

Workarounds

No known workarounds exist.

Acknowledgements

This issue was discovered and reported by Pranjali Thakur, DepthFirst Security Research Team.

AnalysisAI

Memory exhaustion in the Ruby websocket-driver gem (faye/websocket-driver-ruby) allows any network peer to crash the host process by abusing the draft WebSocket protocol's variable-length integer encoding. By streaming an indefinite sequence of bytes with values 0x80 or above in a frame length header, an attacker forces the parser to accumulate an ever-growing Ruby arbitrary-precision integer, consuming unbounded heap memory until the process is killed by the OS. The attack is bidirectional - a malicious server can target a client, or a malicious client can target a server - and no public exploit has been identified at time of analysis.

Technical ContextAI

The affected package is rubygems/websocket-driver (pkg:rubygems/websocket-driver), the low-level WebSocket framing library used by Faye and related Ruby WebSocket stacks. The draft WebSocket protocol frame format encodes payload length using a variable-length big-endian integer where bytes with the high bit set (0x80-0xFF) indicate continuation - semantically similar to MQTT or Protocol Buffers varint encoding. The parser must accumulate these bytes before it knows the full length value. In Ruby, integers are arbitrary precision (switching from Fixnum to Bignum transparently), so there is no natural overflow boundary to terminate the parse. CWE-400 (Uncontrolled Resource Consumption) describes this root cause precisely: the parser fails to impose an upper bound on the integer it is constructing, allowing a peer to dictate how much memory the process allocates.

RemediationAI

Upgrade websocket-driver to version 0.8.1 or later, which is the vendor-confirmed patched release per the GitHub security advisory at https://github.com/faye/websocket-driver-ruby/security/advisories/GHSA-ghhp-3qvg-889p. Update your Gemfile to require 'websocket-driver', '>= 0.8.1' and run bundle update websocket-driver, then verify the installed version with bundle list. The advisory explicitly states no known workarounds exist. If immediate patching is not possible, compensating controls with trade-offs include: restricting WebSocket endpoint access to authenticated or known-IP clients at the load balancer or WAF layer (trade-off: breaks legitimate anonymous WebSocket consumers); setting aggressive TCP idle-timeout and per-connection memory limits at the server or reverse proxy level to limit per-connection damage (trade-off: may disrupt legitimate long-lived connections); and deploying the application in containerized or process-isolated environments so that an OOM kill is scoped to a single worker and does not affect the full service (trade-off: operational complexity, not a prevention).

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-45310 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy