In vulnerable versions of ws, the issue can be mitigated in the following ways:
Reduce the maximum allowed length of the request headers using the
[--max-http-header-size=size][] and/or the [maxHeaderSize][] options so
that no more headers than the server.maxHeadersCount limit can be sent.
the ClusterAdapter class, which manages the messages sent between the server instances of the cluster
the ClusterAdapterWithHeartbeat class, which extends the ClusterAdapter and adds a heartbeat mechanism in order to check the healthiness of the other instances
Other adapters can then just extend those classes and only have to implement the pub/sub mechanism (and not the internal chit-chat protocol):
Besides, the number of "timeout reached: only x responses received out of y" errors (which can happen when a server instance leaves the cluster) should be greatly reduced by this commit.
Bug Fixes
cluster: fix count in fetchSockets() method (80af4e9)
cluster: notify the other nodes when closing (0e23ff0)
the ClusterAdapter class, which manages the messages sent between the server instances of the cluster
the ClusterAdapterWithHeartbeat class, which extends the ClusterAdapter and adds a heartbeat mechanism in order to check the healthiness of the other instances
Other adapters can then just extend those classes and only have to implement the pub/sub mechanism (and not the internal chit-chat protocol):
Besides, the number of "timeout reached: only x responses received out of y" errors (which can happen when a server instance leaves the cluster) should be greatly reduced by this commit.
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 major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/pressbooks/pressbooks-saml-sso/network/alerts).
Bumps the npm_and_yarn group with 4 updates: socket.io, ws, socket.io-client and socket.io-adapter.
Updates
socket.io
from 4.6.1 to 4.7.5Release notes
Sourced from socket.io's releases.
... (truncated)
Changelog
Sourced from socket.io's changelog.
... (truncated)
Commits
5017681
chore(release): 4.7.5bf64870
fix: close the adapters when the server is closed748e18c
ci: test with older TypeScript versionb9ce6a2
refactor: create specific adapter for parent namespaces (#4950)54dabe5
ci: upgrade to actions/checkout@4 and actions/setup-node@4e426f3e
fix: remove duplicate pipeline when serving bundlee36062c
docs: update the webtransport example0bbe8ae
docs: only execute the passport middleware once914a8bd
docs: add example with JWTd943c3e
docs: update the Passport.js exampleUpdates
ws
from 8.11.0 to 8.17.1Release notes
Sourced from ws's releases.
... (truncated)
Commits
3c56601
[dist] 8.17.1e55e510
[security] Fix crash when the Upgrade header cannot be read (#2231)6a00029
[test] Increase code coverageddfe4a8
[perf] Reduce the amount ofcrypto.randomFillSync()
callsb73b118
[dist] 8.17.029694a5
[test] Use thehighWaterMark
variable934c9d6
[ci] Test on node 221817bac
[ci] Do not test on node 2196c9b3d
[major] Flip the default value ofallowSynchronousEvents
(#2221)e5f32c7
[fix] Emit at most one event per event loop iteration (#2218)Updates
socket.io-client
from 4.6.1 to 4.7.5Release notes
Sourced from socket.io-client's releases.
... (truncated)
Changelog
Sourced from socket.io-client's changelog.
... (truncated)
Commits
4f6030f
chore(release): 4.7.534cbfbb
fix: discard acknowledgements upon disconnection8cfea8c
chore(release): 4.7.4ca5d50e
chore(release): 4.7.3f9c16f2
fix(typings): fix the type of the socket#id attributeb3f0cab
ci: add Node.js 20 in the test matrix5a3eafe
fix(typings): accept string | undefined as init argument605de78
fix: improve compatibility with node16 module resolution (#1595)d00ccd2
ci: bump appiumVersion for Android tests in SauceLabs928d76d
chore(release): 4.7.2Updates
socket.io-adapter
from 2.5.2 to 2.5.5Release notes
Sourced from socket.io-adapter's releases.
... (truncated)
Changelog
Sourced from socket.io-adapter's changelog.
... (truncated)
Commits
05a190a
chore(release): 6.5.593fe190
chore(deps): bump ws from 8.11.0 to 8.17.1 (#93)5eae5a0
chore(release): 2.5.4005d546
ci: test with older TypeScript versiona13f35f
fix: ensure the order of the commands207c0db
refactor: break circular dependency (2)abc93a9
refactor: break circular dependency (1)9d4c4a7
refactor(cluster): export ClusterAdapterOptions and MessageType typesca397f3
fix(types): ensure compatibility with TypeScript < 4.5549156c
chore(release): 2.5.3Dependabot 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