Skip to main content

websocket-driver EUVDEUVD-2026-45335

| CVE-2026-54466 CRITICAL
Improper Handling of Length Parameter Inconsistency (CWE-130)
2026-07-15 https://github.com/faye/websocket-driver-node GHSA-xv26-6w52-cph6
Critical
Disputed · 9.2 Vendor: https://github.com/faye/websocket-driver-node
View

Attack ChainAIDerived

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

  1. Access
    Open WebSocket connection to server
  2. Delivery
    Send frame with endless 0x80+ length bytes
  3. Exploit
    Overflow length integer past float precision
  4. Execution
    Server misparses subsequent payload
  5. Impact
    Corrupt or inject message boundaries

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Length parameter validation
Exploitation Conditions

The exploit requires that the server accept and parse WebSocket frames using the draft-version framing implemented in draft75.js, where the length header is an open-ended sequence of high-bit-set continuation bytes - an attacker sends an indefinite stream of bytes >= 0x80 to inflate the length integer past JavaScript's 53-bit safe-integer precision. Per the CVSS vector (AV:N/PR:N/UI:N), no authentication or user interaction is needed and it works remotely over the network against a reachable WebSocket endpoint. Limiting factors: the target must be running websocket-driver < 0.7.5 and must negotiate/accept the vulnerable draft protocol path (deployments restricted to finalized RFC 6455 framing are less exposed), and the practical effect is message corruption/desync rather than compromise of confidentiality or availability.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) scores 9.2 and captures a genuinely low-barrier, remote, unauthenticated, no-interaction trigger - consistent with the description. However, impact is integrity-only (VI:H/SI:H, with VC:N/VA:N), meaning this is message corruption/desync rather than RCE or data theft, so the 9.2 overstates real-world severity for most operators who are not relying on frame integrity for a security boundary. There is no EPSS score, no POC, and no KEV listing provided, so exploitation is theoretical at present; the attack also depends on the server negotiating a vulnerable draft protocol version rather than the finalized RFC 6455 framing, which limits exposure on modern deployments. The input's 'Information Disclosure' tag conflicts with the CVSS impact metrics, which show no confidentiality impact (VC:N) - the tag appears mislabeled; treat this as an integrity/data-corruption issue, not disclosure. Net: patch-worthy given trivial reachability and broad transitive deployment, but a lower operational priority than a comparable 9.2 with confidentiality or availability impact.

Exploit ScenarioDerived

A remote unauthenticated attacker opens a WebSocket connection to a server using a vulnerable websocket-driver version and, during a draft-protocol frame, streams a long run of continuation bytes (values >= 0x80) so the accumulated length integer grows past 2^53 and loses precision. The server then misparses the following bytes as a new frame, letting the attacker corrupt message boundaries or smuggle payload content into an adjacent message. No POC is provided, but the low complexity (AC:L) and lack of auth/interaction make the trigger straightforward to script.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Jul 17, 2026

Message corruption in the faye websocket-driver Node.js library (npm websocket-driver, versions < 0.7.5) lets a remote unauthenticated client desynchronize WebSocket frame parsing by abusing the draft-protocol length header. Because the length is accumulated into a JavaScript 64-bit float, an attacker can stream bytes with the high bit set until the integer loses precision, causing the server to misparse the subsequent payload and corrupting message boundaries. No public exploit identified at time of analysis, and it is not listed in CISA KEV; the primary consequence is integrity (data corruption/injection), not code execution or confidentiality loss.

Earlier versions of this analysis (1)
v1 Jul 15, 2026 - 22:31

Message corruption in the Node.js websocket-driver package (versions < 0.7.5) lets a remote WebSocket client desynchronize frame parsing by abusing the draft-protocol length header. By streaming an indefinite run of continuation bytes (0x80 or higher), an attacker forces the server to accumulate an ever-growing integer that exceeds JavaScript's 64-bit floating-point precision, so the true payload length is computed incorrectly and subsequent bytes are parsed against the wrong frame boundaries. There is no public exploit identified at time of analysis and no CVSS score was assigned; the fix in 0.7.5 rejects any frame whose length header exceeds the configured maximum message length.

RemediationAI

Vendor-released patch: 0.7.5 - upgrade websocket-driver to 0.7.5 or later, which rejects any frame whose length header exceeds the configured maximum message length (the added check if (this._length > this._maxLength) return this.close(); in draft75.js). Because the package is commonly a transitive dependency, run npm ls websocket-driver and force resolution (e.g. npm overrides or updating faye-websocket) so nested copies are also bumped. No known workarounds exist per the advisory; if immediate patching is impossible, compensating controls are limited but include fronting the WebSocket endpoint with a proxy/gateway that enforces a strict maximum frame/message size and rejects oversized length headers, and disabling negotiation of legacy draft WebSocket protocol versions in favor of RFC 6455 where the deployment allows - with the trade-off that dropping draft support can break very old clients. See GHSA-xv26-6w52-cph6 and the 0.7.5 release notes for authoritative guidance.

Affected VersionsENISA

websocket-driver-node < 0.7.5

Affected Packages

npm websocket-driver fix: 0.7.5
euvd websocket_driver_node fix: 0.7.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

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

Technical ContextAI · show details

websocket-driver is the protocol state-machine library underpinning faye and faye-websocket, providing WebSocket framing/handshake logic for Node.js servers. The flaw lives in the legacy draft-75/draft protocol frame decoder (lib/websocket/driver/draft75.js), where the frame length is encoded as a variable-length sequence of bytes each having the high bit (0x80) set as a continuation marker. The decoder accumulates these into a running _length integer without bounding it, and since JavaScript has no native 64-bit integer for this path (numbers are IEEE-754 doubles), values beyond 2^53 silently lose precision. This maps to CWE-130 (Improper Handling of Length Parameter Inconsistency): the declared length is trusted and accumulated unchecked, so the parser's notion of where the frame ends diverges from reality, misaligning subsequent payload parsing.

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

Sources disagree (Medium–Critical)
Vendor (https://github.com/faye/websocket-driver-node) PRIMARY 9.2 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N
vuln.today AI 8.6 HIGH

Remote, unauthenticated, no-interaction trigger (AV:N/AC:L/PR:N/UI:N); parser desync corrupts adjacent messages so S:C with I:H, and no confidentiality or availability impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N
SUSE 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

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

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
High
Subsequent system: Availability
None

Lifecycle Timeline

3
Analysis Updated
Jul 17, 2026 - 21:28 vuln.today
v2 - CVSS changed
CVSS changed
Jul 17, 2026 - 21:22 NVD
9.2 (CRITICAL)
CVE Published
Jul 15, 2026 - 22:07 cve.org
CRITICAL

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 client can make the server parse these bytes into an ever-growing integer. Since JavaScript numbers are 64-bit floating point values, this number will eventually lose precision and lead to the subsequent payload being parsed incorrectly.

Patches

The issue has been patched in version 0.7.5 by rejecting the message if the length header exceeds the configured maximum message length. 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.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 92,810 npm packages depend on websocket-driver (1,745 direct, 91,075 indirect)

Ecosystem-wide dependent count for version 0.7.5.

Executive ViewAI

Why It Matters

The Node.js websocket-driver library (versions <0.7.5) allows remote unauthenticated attackers to corrupt WebSocket messages by manipulating frame length calculations, threatening data integrity across applications that depend on reliable message delivery. Organizations running affected library versions face risks of corrupted or injected data flowing through WebSocket communications to downstream systems and users.

Business Impact: Severe
Compensating Controls

Apply vendor patch: websocket-driver >= 0.7.5. Until patches are deployed, restrict WebSocket connections from untrusted networks and implement enhanced monitoring of WebSocket message patterns for signs of frame desynchronization.

Threat Intelligence Overview

EPSS Score
0.4%
Top 64% exploitable
Prevalence
High
widely used Node.js WebSocket library, common transitive dependency via faye-websocket
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

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

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