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 the maxHeaderSize 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() and websocket.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).
The debug dependency has been reverted to ~3.1.0, as the newer versions contains ES6 syntax which breaks in IE
browsers.
Please note that this only applied to users that bundle the Socket.IO client in their application, with webpack for
example, as the "official" bundles (in the dist/ folder) were already transpiled with babel.
// in that case, details is an error object
console.log(details.message); "xhr post error"
console.log(details.description); // 413 (the HTTP status of the response)
// details.context refers to the XMLHttpRequest object
console.log(details.context.status); // 413
console.log(details.context.responseText); // ""
});
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 show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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](https://github.com/jy95/P4ng-client/network/alerts).
Bumps ws to 7.4.6 and updates ancestor dependency socket.io-client. These dependencies need to be updated together.
Updates
ws
from 6.1.4 to 7.4.6Release notes
Sourced from ws's releases.
... (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 installedUpdates
socket.io-client
from 2.2.0 to 2.5.0Release notes
Sourced from socket.io-client's releases.
... (truncated)
Changelog
Sourced from socket.io-client's changelog.
... (truncated)
Commits
2b8e318
chore(release): 2.5.0991eb0b
fix: ensure buffered events are sent in orderb1d7eef
ci: remove Node.js 8 from the test matrixde2ccff
chore(release): 2.4.0e9dd12a
chore: bump engine.io-client version7248c1e
ci: migrate to GitHub Actions4631ed6
chore(release): 2.3.17f73a28
test: fix tests in IE67c54b8
chore: bump engine.io-parser and socket.io-parser15a52ab
test: remove arrow function (for now)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 show