Originally created by: dependabot[bot]
Bumps ws from 7.3.1 to 7.4.6.
Sourced from ws's releases.
7.4.6
Bug fixes
- Fixed a ReDoS vulnerability (00c425ec).
A specially crafted value of the
Sec-Websocket-Protocolheader could be used to significantly slow down a ws server.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); }The vulnerability was responsibly disclosed along with a fix in private by Robert McLaughlin from University of California, Santa Barbara.
In vulnerable versions of ws, the issue can be mitigated by reducing the maximum allowed length of the request headers using the
--max-http-header-size=sizeand/or themaxHeaderSizeoptions.7.4.5
Bug fixes
- UTF-8 validation is now done even if
utf-8-validateis not installed (23ba6b29).- Fixed an edge case where
websocket.close()andwebsocket.terminate()did not close the connection (67e25ff5).7.4.4
Bug fixes
- Fixed a bug that could cause the process to crash when using the permessage-deflate extension (92774377).
7.4.3
Bug fixes
- The deflate/inflate stream is now reset instead of reinitialized when context takeover is disabled (#1840](https://github.com/href="https://github-redirect.dependabot.com/websockets/ws/issues/1840">/issues/1840)).
7.4.2
Bug fixes
... (truncated)
f5297f7 [dist] 7.4.600c425e [security] Fix ReDoS vulnerability990306d [lint] Fix prettier error32e3a84 [security] Remove reference to Node Security Project8c914d1 [minor] Fix nitsfc7e27d [ci] Test on node 16587c201 [ci] Do not test on node 15f672710 [dist] 7.4.567e25ff [fix] Fix case where abortHandshake() does not close the connection23ba6b2 [fix] Make UTF-8 validation work even if utf-8-validate is not installedDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.