boombeastic
boombeastic copied to clipboard
Bump ws and socket.io in /ws/app
Bumps ws to 7.4.6 and updates ancestor dependency socket.io. These dependencies need to be updated together.
Updates ws
from 6.1.4 to 7.4.6
Release notes
Sourced from ws's releases.
7.4.6
Bug fixes
- Fixed a ReDoS vulnerability (00c425ec).
A specially crafted value of the
Sec-Websocket-Protocol
header 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=size
and/or themaxHeaderSize
options.7.4.5
Bug fixes
- UTF-8 validation is now done even if
utf-8-validate
is 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).
7.4.2
Bug fixes
... (truncated)
Commits
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 whereabortHandshake()
does not close the connection23ba6b2
[fix] Make UTF-8 validation work even if utf-8-validate is not installed- Additional commits viewable in compare view
Updates socket.io
from 2.2.0 to 2.5.0
Release notes
Sourced from socket.io's releases.
2.5.0
:warning: WARNING :warning:
The default value of the
maxHttpBufferSize
option has been decreased from 100 MB to 1 MB, in order to prevent attacks by denial of service.Security advisory: https://github.com/advisories/GHSA-j4f2-536g-r55m
Bug Fixes
- fix race condition in dynamic namespaces (05e1278)
- ignore packet received after disconnection (22d4bdf)
- only set 'connected' to true after middleware execution (226cc16)
- prevent the socket from joining a room after disconnection (f223178)
Links:
- Diff: https://github.com/socketio/socket.io/compare/2.4.1...2.5.0
- Client release: 2.5.0
- engine.io version:
~3.6.0
(diff)- ws version:
~7.4.2
2.4.1
This release reverts the breaking change introduced in
2.4.0
(https://github.com/socketio/socket.io/commit/f78a575f66ab693c3ea96ea88429ddb1a44c86c7).If you are using Socket.IO v2, you should explicitly allow/disallow cross-origin requests:
- without CORS (server and client are served from the same domain):
const io = require("socket.io")(httpServer, { allowRequest: (req, callback) => { callback(null, req.headers.origin === undefined); // cross-origin requests will not be allowed } });
- with CORS (server and client are served from distinct domains):
io.origins(["http://localhost:3000"]); // for local development io.origins(["https://example.com"]);
In any case, please consider upgrading to Socket.IO v3, where this security issue is now fixed (CORS is disabled by default).
Reverts
- fix(security): do not allow all origins by default (a169050)
Links:
... (truncated)
Changelog
Sourced from socket.io's changelog.
2.5.0 (2022-06-26)
⚠️ WARNING ⚠️
The default value of the
maxHttpBufferSize
option has been decreased from 100 MB to 1 MB, in order to prevent attacks by denial of service.Security advisory: GHSA-j4f2-536g-r55m
Bug Fixes
- fix race condition in dynamic namespaces (05e1278)
- ignore packet received after disconnection (22d4bdf)
- only set 'connected' to true after middleware execution (226cc16)
- prevent the socket from joining a room after disconnection (f223178)
Dependencies
engine.io@~3.6.0
(https://github.com/socketio/engine.io/compare/3.5.0...3.6.0)ws@~7.4.2
(no change)4.5.1 (2022-05-17)
Bug Fixes
- forward the local flag to the adapter when using fetchSockets() (30430f0)
- typings: add HTTPS server to accepted types (#4351) (9b43c91)
Dependencies
engine.io@~6.2.0
(no change)ws@~8.2.3
(no change)4.5.0 (2022-04-23)
Bug Fixes
Features
Catch-all listeners for outgoing packets
... (truncated)
Commits
baa6804
chore(release): 2.5.0f223178
fix: prevent the socket from joining a room after disconnection226cc16
fix: only set 'connected' to true after middleware execution05e1278
fix: fix race condition in dynamic namespaces22d4bdf
fix: ignore packet received after disconnectiondfded53
chore: update engine.io version to 3.6.0e6b8697
chore(release): 2.4.1a169050
revert: fix(security): do not allow all origins by default873fdc5
chore(release): 2.4.0f78a575
fix(security): do not allow all origins by default- Additional commits viewable in compare view
Dependabot 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
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebase
will rebase this PR -
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it -
@dependabot merge
will merge this PR after your CI passes on it -
@dependabot squash and merge
will squash and merge this PR after your CI passes on it -
@dependabot cancel merge
will cancel a previously requested merge and block automerging -
@dependabot reopen
will reopen this PR if it is closed -
@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.