Description
websocket-driver is a WebSocket protocol handler with pluggable I/O. Prior to 0.7.5, 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 in lib/websocket/driver/draft75.js; because JavaScript numbers are 64-bit floating point values, this number will eventually lose precision and lead to the subsequent payload being parsed incorrectly. This issue is fixed in version 0.7.5.
Published: 2026-07-17
Score: 9.2 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The WebSocket driver for Node.js before version 0.7.5 is vulnerable to a format‑length header abuse that allows a client to send an arbitrary long sequence of bytes with the high bit set. The server will interpret these bytes as an ever‑growing integer; when JavaScript’s 64‑bit floating‑point numbers lose precision, the payload is parsed incorrectly, potentially corrupting the message stream or causing the processing loop to fail. This flaw, identified as CWE‑130 (Numeric precision loss), can allow an attacker to disrupt correct packet parsing and achieve a denial of service outcome.

Affected Systems

All installations of the Faye websocket‑driver for Node.js that use versions prior to 0.7.5 are affected. The vulnerability applies to any Node.js application that imports the driver without a patch to the 0.7.5 release or later.

Risk and Exploitability

The vulnerability carries a CVSS score of 9.2, indicating a high severity risk. The EPSS score of less than 1% suggests a low current likelihood of exploitation, and the flaw is not listed in the CISA KEV catalog. Exploitation would typically occur via a malicious WebSocket client that sends payloads with excessive high‑bit bytes, targeting servers that accept WebSocket connections. Successful exploitation leads to corrupted data handling and caused service disruption.

Generated by OpenCVE AI on July 30, 2026 at 23:24 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the websocket-driver-node package to version 0.7.5 or later to apply the vendor‑supplied fix.
  • If an upgrade is not immediately possible, configure the application layer to detect and reject WebSocket frames whose length header exceeds a reasonable threshold (e.g., limit the number of high‑bit bytes or enforce a maximum payload size).
  • As an interim measure, apply custom runtime validation that checks for excessively large length values before parsing and terminates the connection if the value is out of bounds.

Generated by OpenCVE AI on July 30, 2026 at 23:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-xv26-6w52-cph6 websocket-driver: Message corruption via abuse of protocol length headers
History

Thu, 23 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Faye
Faye websocket-driver-node
Vendors & Products Faye
Faye websocket-driver-node

Mon, 20 Jul 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 17 Jul 2026 21:00:00 +0000

Type Values Removed Values Added
Description websocket-driver is a WebSocket protocol handler with pluggable I/O. Prior to 0.7.5, 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 in lib/websocket/driver/draft75.js; because JavaScript numbers are 64-bit floating point values, this number will eventually lose precision and lead to the subsequent payload being parsed incorrectly. This issue is fixed in version 0.7.5.
Title websocket-driver: Message corruption via abuse of protocol length headers
Weaknesses CWE-130
References
Metrics cvssV4_0

{'score': 9.2, 'vector': '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'}


Subscriptions

Faye Websocket-driver-node
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-20T19:11:09.339Z

Reserved: 2026-06-15T15:30:40.319Z

Link: CVE-2026-54466

cve-icon Vulnrichment

Updated: 2026-07-20T19:01:41.913Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T23:30:08Z

Weaknesses
  • CWE-130

    Improper Handling of Length Parameter Inconsistency