{"schema_version":"1.9.0","id":"GHSA-xv26-6w52-cph6","published":"2026-07-15T22:07:24Z","modified":"2026-09-10T03:51:12.671093404Z","aliases":["CVE-2026-54466"],"summary":"websocket-driver: Message corruption via abuse of protocol length headers","details":"### Impact\n\nThe 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.\n\n### Patches\n\nThe 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.\n\n### Workarounds\n\nNo known workarounds exist.\n\n### Acknowledgements\n\nThis issue was discovered and reported by Pranjali Thakur, DepthFirst Security Research Team.","affected":[{"package":{"name":"websocket-driver","ecosystem":"npm","purl":"pkg:npm/websocket-driver"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.7.5"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/07/GHSA-xv26-6w52-cph6/GHSA-xv26-6w52-cph6.json"}}],"references":[{"type":"WEB","url":"https://github.com/faye/websocket-driver-node/security/advisories/GHSA-xv26-6w52-cph6"},{"type":"PACKAGE","url":"https://github.com/faye/websocket-driver-node"},{"type":"WEB","url":"https://github.com/faye/websocket-driver-node/releases/tag/0.7.5"}],"database_specific":{"cwe_ids":["CWE-130"],"github_reviewed":true,"github_reviewed_at":"2026-07-15T22:07:24Z","nvd_published_at":null,"severity":"CRITICAL"},"severity":[{"type":"CVSS_V4","score":"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"}]}