GitHub Advisoryadvisory · RubyGems

GHSA-ghhp-3qvg-889p websocket-driver: Memory exhaustion via abuse of protocol length headers

MEDIUM Published 2026-07-15 Modified 2026-08-17 Official page ↗
Aliases
CVE-2026-54463
Ecosystem
RubyGems
Packages
websocket-driver
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
Weaknesses
CWE-400, CWE-770
Reviewed
2026-07-15

Affected packages

• RubyGems websocket-driver: < 0.8.1 → fixed in 0.8.1

Description

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 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. Patches The issue has been patched in version 0.8.1. 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.

Related

Alias · CVE (1)

  • CVE-2026-54463 websocket-driver is a WebSocket protocol handler with pluggable I/O. vulnerability

Weakness · CWE (2)

  • CWE-400 Uncontrolled Resource Consumption weakness
  • CWE-770 Allocation of Resources Without Limits or Throttling weakness

References