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).
web-ext lint: Fixed unexpected linting failures triggered by conflicting eslint versions
when web-ext is included as a dev dependency (#2245, fixed in #2374)
web-ext run -t chromium: Applied fix to reload extensions already enabled (#2365)
web-ext sign: Updated dependency sign-addon to v3.11.0 (#2377)
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)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/tim-we/tabs-aside/network/alerts).
Bumps ws to 7.4.6 and updates ancestor dependency web-ext. These dependencies need to be updated together.
Updates
ws
from 7.4.3 to 7.4.6Release notes
Sourced from ws's releases.
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
web-ext
from 6.1.0 to 6.8.0Release notes
Sourced from web-ext's releases.
... (truncated)
Commits
c368750
chore: Bump package version for release 6.8.01b2ee61
fix(deps): update dependency addons-linter to v4.14.0 (#2386)6c53a01
fix: Improved debounce to prevent multiple extension reloads on consecutive f...81083df
chore: Updated .nsprc exceptions7899dce
chore: Updated minimist version to 1.2.6 in package-lock.jsonfc4da01
chore(ci): Migrate circleci jobs to cimg/node docker images2cfd843
fix: Replaced event-to-promise with promise-toolbox/fromEvent (#2367)238bf6d
chore: Bump package version for release 6.7.0542995d
fix(deps): update dependency sign-addon to v3.11.0 (#2377)32961b1
fix(deps): update dependency addons-linter to v4.9.0 (#2376)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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/tim-we/tabs-aside/network/alerts).