CVE-2026-54463: websocket-driver: Memory exhaustion via abuse of protocol length headers
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 server or client can make the other peer parse these bytes into an ever-growing integer. Since Ruby integers are arbitrary precision, this can be used to make a WebSocket connection consume an unbounded amount of memory and lead to the host process running out of memory.
References
- github.com/advisories/GHSA-ghhp-3qvg-889p
- github.com/faye/websocket-driver-ruby/releases/tag/0.8.1
- github.com/faye/websocket-driver-ruby/security/advisories/GHSA-ghhp-3qvg-889p
- github.com/rubysec/ruby-advisory-db/blob/master/gems/websocket-driver/CVE-2026-54463.yml
- nvd.nist.gov/vuln/detail/CVE-2026-54463
- www.cve.org/CVERecord/SearchResults?query=CVE-2026-54463
Code Behaviors & Features
Detect and mitigate CVE-2026-54463 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →