Skip to main content

websocket-driver EUVDEUVD-2026-45309

| CVE-2026-54464 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-07-15 https://github.com/faye/websocket-driver-ruby GHSA-33ph-fccm-39pj
6.3
CVSS 4.0 · Vendor: https://github.com/faye/websocket-driver-ruby
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Connect to WebSocket endpoint
  2. Delivery
    Negotiate permessage-deflate during handshake
  3. Exploit
    Craft DEFLATE payload compressed below size threshold
  4. Execution
    Transmit compressed frame
  5. Persist
    Server decompresses to oversized payload bypassing size limit
  6. Impact
    Memory or CPU exhaustion causes service disruption

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires two conditions to be simultaneously true: (1) the permessage-deflate WebSocket extension (RFC 7692) must be negotiated and active on the connection - this is a server or client configuration choice, not universally enabled by default; and (2) the application must have configured a maximum message size limit, which is the guard being bypassed. If either condition is absent the vulnerability is unexploitable. No authentication is required - any peer that can complete a WebSocket handshake with permessage-deflate negotiated can send the crafted payload. Exploitation is limited strictly to Ruby applications using websocket-driver versions below 0.8.1 with the compression extension in use; applications on 0.8.1 or later, or those that do not enable permessage-deflate, are fully unaffected.

Impact

No official CVSS score was published; all metric assessment is inferred from the advisory description and CWE. The attack requires permessage-deflate to be negotiated during the handshake - not universal but common in bandwidth-sensitive or real-time deployments. When that condition is met, exploitability is high: crafting a DEFLATE-compressed payload that undercuts the size check while decompressing large is trivially reproducible from public knowledge of the attack class. No authentication or user interaction is required against a publicly exposed WebSocket endpoint. No EPSS score or KEV listing is available, and no POC has been publicly confirmed, so widespread active exploitation is unconfirmed. Real-world risk is most acute for services with public or semi-public WebSocket endpoints that rely on message size limits as a resource-protection mechanism; the risk is negligible for deployments that do not enable permessage-deflate. The impact is limited to availability - no confidentiality or integrity exposure is indicated.

Exploit ScenarioDerived

An attacker connects to a publicly accessible WebSocket endpoint, successfully negotiates the permessage-deflate extension during the handshake, then sends a crafted message that is compressed to a size below the server's configured maximum message size threshold. Upon decompression, the payload expands to a size far exceeding the limit - potentially hundreds of times larger - consuming server memory and CPU. Repeated delivery of such frames can exhaust available resources and cause a denial of service. No public POC has been confirmed, but the attack is mechanically equivalent to well-documented decompression bomb techniques.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 15, 2026

Resource exhaustion in the websocket-driver Ruby gem (faye/websocket-driver-ruby) allows any WebSocket peer to bypass a configured maximum message size when the permessage-deflate compression extension is in use. The size limit is enforced against the compressed frame length rather than the post-decompression size, enabling a decompression-bomb style attack where a small compressed payload expands far beyond the intended ceiling. Applications on versions below 0.8.1 silently accept oversized payloads, potentially exhausting server memory or CPU and causing a denial-of-service condition. No public exploit exists at time of analysis, but the attack class is well understood and low-complexity to implement.

RemediationAI

Upgrade websocket-driver to version 0.8.1 or later - the vendor-confirmed fix that relocates the message size check to occur after decompression by incoming extensions (https://github.com/faye/websocket-driver-ruby/releases/tag/0.8.1). The advisory explicitly states no known workarounds exist. If an immediate upgrade is blocked, disabling the permessage-deflate extension in the WebSocket server or client configuration eliminates the vulnerable code path entirely, at the cost of increased wire bandwidth. As a partial mitigation, enforcing connection-level rate limits and payload rate throttling at a reverse proxy or load balancer can reduce the speed at which a decompression bomb depletes server memory, but this does not prevent the size limit bypass itself and should not be treated as a substitute for patching.

Affected VersionsENISA

websocket-driver-ruby < 0.8.1

Affected Packages

rubygems websocket-driver fix: 0.8.1
euvd websocket_driver_ruby fix: 0.8.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in rubygems, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

websocket-driver (rubygems/websocket-driver, CPE: pkg:rubygems/websocket-driver) is a Ruby library implementing the WebSocket protocol (RFC 6455). The permessage-deflate extension (RFC 7692) negotiated during the WebSocket handshake applies per-message DEFLATE compression to reduce wire bandwidth. The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): the maximum message size check reads the length field from the compressed frame headers before the extension pipeline decompresses the payload. A well-compressed payload can therefore pass the size guard while expanding orders of magnitude in memory - a classic decompression bomb pattern applied to the WebSocket layer. The fix in 0.8.1 relocates the size check to after extension processing, so the decompressed length is what is bounded.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/faye/websocket-driver-ruby) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
vuln.today AI 7.5 HIGH

Network-reachable WebSocket endpoint, no auth required, trivially crafted payload; pure availability impact via resource exhaustion, no C or I exposure.

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:P/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

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
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
Low

Lifecycle Timeline

1
CVSS changed
Jul 17, 2026 - 20:22 NVD
6.3 (MEDIUM)

DescriptionCVE.org

Impact

If this library is used in tandem with the permessage-deflate extension, a WebSocket server or client can be made to accept messages that are larger than the configured maximum message size. This is because this limit is checked against the message frames' length headers, which give the size of the compressed data, not the size after decompression. This can lead to applications accepting larger messages than expected and exceeding their intended resource usage.

Patches

The issue has been patched in version 0.8.1, by checking the length of messages after they are processed by incoming extensions. 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.

Threat Intelligence Overview

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Medium
Ruby WebSocket gem used in Faye-based applications, moderate enterprise footprint
Threat Intel
1
1 source
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS GHSA Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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

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