CVE-2026-54466
websocket-driver: Message corruption via abuse of protocol length headers
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
9.2
websocket-driver: Message corruption via abuse of protocol length headers
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.
- Record
CVE-2026-54466- CVSS 4.0
- 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 - Weakness
- CWE-130
- Updated
- 2026-11-02
EUVDEUVD-2026-45335
9.2
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.
- Record
EUVD-2026-45335- CVSS 4.0
- 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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-xv26-6w52-cph6
9.2
websocket-driver: Message corruption via abuse of protocol length headers
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.
- Record
GHSA-xv26-6w52-cph6- CVSS 4.0
- 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 - Weakness
- CWE-130
- Updated
- 2026-11-02
NVD
9.2
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.
- Record
CVE-2026-54466- CVSS 4.0
- 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/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 - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-130
- Updated
- 2026-11-02
OSV
9.2
websocket-driver: Message corruption via abuse of protocol length headers
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.
- Record
CVE-2026-54466- CVSS 4.0
- 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 - Weakness
- CWE-130
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-54466
7.5
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.
- Record
DEBIAN-CVE-2026-54466- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
Show 8 moreShow less
OSVGHSA-xv26-6w52-cph6
9.2
websocket-driver: Message corruption via abuse of protocol length headers
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.
- Record
GHSA-xv26-6w52-cph6- CVSS 4.0
- 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 - Weakness
- CWE-130
- Updated
- 2026-11-02
OSVOESA-2026-3212
9.2
nodejs-websocket-driver security update
.
Security Fix(es):
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.(CVE-2026-54466)
- Record
OESA-2026-3212- CVSS 4.0
- 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/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 - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-54466
9.2
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.
- Record
UBUNTU-CVE-2026-54466- CVSS 4.0
- 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 - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVCLSA-2026-1784856035 No score
TuxCare security update for websocket-driver (2 CVEs)
TuxCare rebuilt websocket-driver to address 2 CVEs. Fixed in 0.6.5-tuxcare.1.
- Record
CLSA-2026-1784856035- Updated
- 2026-11-02
OSVCLSA-2026-1789479340 No score
TuxCare security update for websocket-driver (2 CVEs)
TuxCare rebuilt websocket-driver to address 2 CVEs. Fixed in 0.7.4-tuxcare.1.
- Record
CLSA-2026-1789479340- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11680-1 No score
agama-web-ui-24+0.a836cced5-52.1 on GA media
These are all security issues fixed in the agama-web-ui-24+0.a836cced5-52.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11680-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21448-1 No score
Security update for agama-web-ui
This update for agama-web-ui fixes the following issues:
- CVE-2025-7783: form-data: unsafe
Math.random()function is used to select a boundary value for multipart form-encoded data (bsc#1246822). - CVE-2026-12143: form-data: CRLF injection via unescaped multipart field names and filenames (bsc#1272310).
- CVE-2026-13149: brace-expansion:
expand()function exhibits exponential-time complexity when processing non-expanding{}brace groups (bsc#1269927). - CVE-2026-13311: shell-quote: quadratic complexity in
parse()function when processing specially crafted strings (bsc#1269359). - CVE-2026-13676: fast-uri: host-based policy bypass due to failure to canonicalize Unicode/IDN hostnames for HTTP-family URLs (bsc#1269595).
- CVE-2026-27601: underscore: DoS via stack overflow due to missing depth limits in
_.flattenand_.isEqualfunctions (bsc#1259169). - CVE-2026-40181: react-router: open redirect to an external domain due to path values starting with
//being reinterpreted as protocol-relative URLs (bsc#1272311). - CVE-2026-49356: @babel/core: arbitrary file read via
sourceMappingURLcomment (bsc#1272317). - CVE-2026-53550: js-yaml: quadratic complexity in merge-key processing when processing a crafted YAML document (bsc#1268851).
- CVE-2026-53632: launch-editor: NTLMv2 hash disclosure via UNC path handling on Windows (bsc#1272319).
- CVE-2026-54466: websocket-driver: message corruption via abuse of protocol length headers (bsc#1272312).
- CVE-2026-54490: websocket-driver: resource limit bypass via message compression (bsc#1272313).
- CVE-2026-55602: http-proxy-middleware: Host-header-driven backend routing bypass via
routerhost+path substring matching (bsc#1272318).
- Record
openSUSE-SU-2026:21448-1- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2026-54466 No score
CVE-2026-54466 in websocket-driver - Patched by Root
Root has patched CVE-2026-54466 in the websocket-driver package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-54466- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
websocket-drivernpm |
before 0.7.5 | 0.7.5 |
websocket-driverTuxCare:npm |
0.6.5-tuxcare.0 up to 0.6.5-tuxcare.1, plus listed versions 0.6.5 |
0.6.5-tuxcare.1 |
websocket-driverTuxCare:npm |
0.7.4-tuxcare.0 up to 0.7.4-tuxcare.1, plus listed versions 0.7.4 |
0.7.4-tuxcare.1 |
node-websocket-driverDebian:12 |
All versions, plus listed versions 0.7.4+~cs0.6.14-10.7.4+~cs0.6.7-20.7.5+~cs0.6.14-1 |
None known |
node-websocket-driverDebian:13 |
All versions, plus listed versions 0.7.4+~cs0.6.14-10.7.4+~cs0.6.7-20.7.5+~cs0.6.14-1 |
None known |
node-websocket-driverDebian:14 |
before 0.7.5+~cs0.6.14-1, plus listed versions 0.7.4+~cs0.6.14-10.7.4+~cs0.6.7-2 |
0.7.5+~cs0.6.14-1 |
nodejs-websocket-driveropenEuler:22.03-LTS-SP4 |
before 0.3.3-2.oe2203sp4 | 0.3.3-2.oe2203sp4 |
nodejs-websocket-driveropenEuler:24.03-LTS-SP1 |
before 0.3.3-2.oe2403sp1 | 0.3.3-2.oe2403sp1 |
nodejs-websocket-driveropenEuler:24.03-LTS-SP3 |
before 0.3.3-2.oe2403sp3 | 0.3.3-2.oe2403sp3 |
nodejs-websocket-driveropenEuler:24.03-LTS-SP4 |
before 0.3.3-2.oe2403sp4 | 0.3.3-2.oe2403sp4 |
Show 12 moreShow less
| Package | Affected | Fixed |
|---|---|---|
nodejs-websocket-driveropenEuler:20.03-LTS-SP4 |
before 0.3.3-2.oe2003sp4 | 0.3.3-2.oe2003sp4 |
websocket-driverRoot:npm |
before 0.7.4-aikido.1 | 0.7.4-aikido.10.6.5-aikido.1 |
@rootio/websocket-driverRoot:npm |
before 0.7.4-root.io.1 | 0.7.4-root.io.10.6.5-root.io.1 |
node-websocket-driverUbuntu:16.04:LTS |
All versions, plus listed versions 0.3.5-1 |
None known |
node-websocket-driverUbuntu:18.04:LTS |
All versions, plus listed versions 0.3.5-1 |
None known |
node-websocket-driverUbuntu:20.04:LTS |
All versions, plus listed versions 0.3.5-1 |
None known |
node-websocket-driverUbuntu:22.04:LTS |
All versions, plus listed versions 0.7.4+~cs0.6.7-2 |
None known |
node-websocket-driverUbuntu:24.04:LTS |
All versions, plus listed versions 0.7.4+~cs0.6.7-2 |
None known |
node-websocket-driverUbuntu:26.10 |
All versions, plus listed versions 0.7.4+~cs0.6.14-10.7.5+~cs0.6.14-1 |
None known |
node-websocket-driverUbuntu:26.04:LTS |
All versions, plus listed versions 0.7.4+~cs0.6.7-20.7.4+~cs0.6.14-1 |
None known |
agama-web-uiopenSUSE:Tumbleweed |
before 24+0.a836cced5-52.1 | 24+0.a836cced5-52.1 |
agama-web-uiopenSUSE:Leap 16.0 |
before 17+673.b97ba64d6-160000.12.1 | 17+673.b97ba64d6-160000.12.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-54466 is a critical vulnerability (CVSS 9.2) in Faye Websocket-driver, published July 15, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.38%, the 32nd percentile. Fixed in websocket-driver 0.7.5.
References
github.com/faye/websocket-driver-node/security/advisories/GHSA-xv26-6w52-cph6
github.com/faye/websocket-driver-node/commit/5b197ca874dab58e96cacad8a3c256797d804680
github.com/faye/websocket-driver-node/releases/tag/0.7.5
github.com/advisories/GHSA-xv26-6w52-cph6
github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54466.json
nvd.nist.gov/vuln/detail/CVE-2026-54466
Show 43 moreShow less
security-tracker.debian.org/tracker/CVE-2026-54466
github.com/faye/websocket-driver-node
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3212
ubuntu.com/security/CVE-2026-54466
cve.org/CVERecord?id=CVE-2026-54466
suse.com/security/cve/CVE-2025-7783
suse.com/security/cve/CVE-2026-13149
suse.com/security/cve/CVE-2026-13676
suse.com/security/cve/CVE-2026-33245
suse.com/security/cve/CVE-2026-49356
suse.com/security/cve/CVE-2026-53550
suse.com/security/cve/CVE-2026-53632
suse.com/security/cve/CVE-2026-54466
suse.com/security/cve/CVE-2026-55602
suse.com/security/cve/CVE-2026-67313
suse.com/security/cve/CVE-2026-67315
suse.com/security/cve/CVE-2026-67317
suse.com/security/cve/CVE-2026-67319
suse.com/security/cve/CVE-2026-67321
suse.com/security/cve/CVE-2026-69153
suse.com/security/cve/CVE-2026-73086
suse.com/security/cve/CVE-2026-73088
suse.com/security/cve/CVE-2026-73089
suse.com/security/cve/CVE-2026-73650
bugzilla.suse.com/1246822
bugzilla.suse.com/1259169
bugzilla.suse.com/1268851
bugzilla.suse.com/1269359
bugzilla.suse.com/1269514
bugzilla.suse.com/1269595
bugzilla.suse.com/1269927
bugzilla.suse.com/1272310
bugzilla.suse.com/1272311
bugzilla.suse.com/1272312
bugzilla.suse.com/1272313
bugzilla.suse.com/1272317
bugzilla.suse.com/1272318
bugzilla.suse.com/1272319
suse.com/security/cve/CVE-2026-12143
suse.com/security/cve/CVE-2026-13311
suse.com/security/cve/CVE-2026-27601
suse.com/security/cve/CVE-2026-40181
suse.com/security/cve/CVE-2026-54490