Skip to main content

websocket-driver-ruby EUVDEUVD-2026-60264

| CVE-2026-61666 HIGH
Uncaught Exception (CWE-248)
2026-07-21 https://github.com/faye/websocket-driver-ruby GHSA-2x63-gw47-w4mm
8.9
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 TCP endpoint
  2. Delivery
    Send HTTP Upgrade with malformed Host header
  3. Exploit
    URI.parse() raises URI::InvalidURIError
  4. Execution
    Exception propagates uncaught through parse()
  5. Persist
    Server process terminates
  6. Impact
    All clients denied service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Exception handling completeness
Exploitation Conditions

The target application must be using websocket-driver-ruby in server mode - specifically calling WebSocket::Driver.server() to handle incoming WebSocket connections on top of a TCP server. Applications using the library only in client mode (WebSocket::Driver.client()) are not affected. The attacker must be able to reach the WebSocket endpoint over the network and complete a TCP connection to send an HTTP Upgrade request. The CVSS 4.0 AT:P metric captures this deployment-mode prerequisite. Exploitation is further limited by the requirement that the application itself does not rescue exceptions from the parse() method - any application that already wraps parse() in a broad rescue block will not crash. No authentication is required and no specific platform or OS is needed; the flaw is purely in Ruby gem logic.

Impact

The CVSS 4.0 score of 8.9 is credible and appropriately weighted. AV:N/AC:L/PR:N/UI:N confirms the attack requires no authentication and no victim interaction - a single malformed TCP request is sufficient. AT:P (Attack Prerequisites: Present) in CVSS 4.0 correctly identifies the limiting condition: only applications using WebSocket::Driver.server() are vulnerable. VA:H and SA:H reflect that a crash terminates the server process, denying service to all connected clients and downstream services. No EPSS data was provided; the CVE is not in CISA KEV, so no confirmed active exploitation exists at time of analysis. Despite the absence of a KEV listing, real-world risk is elevated because the triggering payload is trivial - no memory corruption, no gadget chaining, just a single malformed header value - meaning even a mid-sized municipal IT team in bytom running Ruby WebSocket infrastructure should treat this as urgent rather than waiting for a KEV confirmation. The absence of confidentiality or integrity impact caps the damage to service disruption, but repeated or automated requests could achieve sustained, difficult-to-mitigate denial of service against exposed endpoints.

Exploit ScenarioDerived

An unauthenticated attacker sends a TCP connection to an exposed Ruby WebSocket server and issues an HTTP Upgrade request where the Host header contains a URI-illegal string such as a bare bracket character or an embedded space. The websocket-driver-ruby request parser calls URI.parse() on the value, Ruby raises URI::InvalidURIError, and because no rescue exists in the library prior to 0.8.2, the exception propagates out of parse() and terminates the server process. No public exploit code has been identified at time of analysis, but the attack is trivially constructible without tooling beyond a standard TCP client.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Aug 17, 2026

Denial of service in websocket-driver-ruby (all versions before 0.8.2) allows any unauthenticated remote client to crash a Ruby WebSocket server process by sending an HTTP Upgrade request containing a syntactically invalid Host header value. The root cause is an unhandled URI::InvalidURIError exception raised during Host header parsing in the request.complete() method, which propagates uncaught to the top level and terminates the server process. No public exploit has been identified at time of analysis, but the attack technique is trivially constructible from the CVE description and the published patch diff alone.

Earlier versions of this analysis (1)
v1 Jul 21, 2026 - 19:02

Denial of service in the Ruby websocket-driver gem (versions < 0.8.2) lets a remote client crash a WebSocket server built via WebSocket::Driver.server() by sending a malformed Host header. The request parser passes the header into URI.parse without handling failures, so a Host value that is not a valid host[:port] string raises an uncaught URI::InvalidURIError that can terminate the server process. There is no public exploit identified at time of analysis and no KEV listing; impact is limited to availability, with no data disclosure or code execution.

RemediationAI

Upgrade the websocket-driver-ruby gem to version 0.8.2 or later, which is confirmed as the vendor-released fix per the GitHub Security Advisory GHSA-2x63-gw47-w4mm. The patch (commit 7d6fd87759a2fdc83590d3b49ffa661dc53fa128, available at https://github.com/faye/websocket-driver-ruby/commit/7d6fd87759a2fdc83590d3b49ffa661dc53fa128) adds a rescue URI::InvalidURIError block in lib/websocket/http/request.rb that causes the parser to enter an error state and reject the connection rather than raising. No vendor-documented workarounds exist. As a fragile interim measure only, application developers can wrap their own calls to parse() in a rescue block to prevent process termination, but this requires application-level changes and does not fix the underlying library defect - upgrade to 0.8.2 remains the only reliable remediation.

Affected VersionsENISA

websocket-driver-ruby < 0.8.2

Affected Packages

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

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

The websocket-driver-ruby gem (pkg:rubygems/websocket-driver) implements the WebSocket protocol framing and HTTP upgrade handshake for Ruby applications, serving as the underlying engine for the faye-websocket gem and Rails ActionCable. In server mode (WebSocket::Driver.server()), the library parses the incoming HTTP Upgrade request in lib/websocket/http/request.rb. The complete() method extracts the HTTP_HOST header and calls Ruby's standard URI.parse() to decompose it into SERVER_NAME and SERVER_PORT components. Ruby's URI module raises URI::InvalidURIError for strings containing characters or structures that violate RFC 3986, and prior to version 0.8.2 no rescue clause existed in this code path. CWE-248 (Uncaught Exception) precisely describes the flaw: an exception escapes the library boundary and propagates into the application layer, crashing the process unless the caller explicitly rescues from parse() - an expectation not documented to consumers of the library.

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 8.9 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H
vuln.today AI 7.5 HIGH

Network-reachable endpoint, no authentication or interaction required, scope unchanged; sole impact is total availability loss via process crash, no confidentiality or integrity component.

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:H
SUSE 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
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
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
High

Lifecycle Timeline

3
Analysis Updated
Aug 17, 2026 - 17:34 vuln.today
v2 - CVSS changed
CVSS changed
Aug 17, 2026 - 17:22 NVD
8.9 (HIGH)
CVE Published
Jul 21, 2026 - 18:34 cve.org
HIGH

DescriptionCVE.org

Impact

If this library is used to implement a WebSocket server on top of a TCP server, by using the WebSocket::Driver.server() method, then a client can cause the server to crash by sending a Host header that is not a valid host[:port] string. When this happens, a URI::InvalidURIError exception is raised which is not caught, and this can cause the server process to crash if the application does not catch the error from the parse() method itself.

Patches

The issue has been patched in version 0.8.2 by making the request parser catch URI::InvalidURIError and enter an error state if the Host header is malformed. This means the request is considered invalid and should not establish a WebSocket connection.

Workarounds

No known workarounds exist.

Acknowledgements

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

Executive ViewAI

Why It Matters

websocket-driver-ruby versions below 0.8.2 contain a remotely exploitable denial of service vulnerability allowing unauthenticated external attackers to crash server processes. Organizations operating WebSocket services face immediate availability disruption risk. Upgrading to version 0.8.2 is the critical remediation step.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 73% exploitable
Prevalence
Medium
underlying driver for Rails ActionCable and faye-websocket, common in Ruby web apps
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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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: Important
Product Status
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP4 Affected
SUSE Linux Enterprise High Availability Extension 15 SP5 Affected
SUSE Linux Enterprise High Availability Extension 15 Affected
SUSE Linux Enterprise High Availability Extension 15 SP1 Affected

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