Skip to content

chore(deps): bump ws from 8.19.0 to 8.21.3 in /web - #112

Merged
haasonsaas merged 1 commit into
mainfrom
dependabot/npm_and_yarn/web/ws-8.21.1
Sep 2, 2026
Merged

haasonsaas merged 1 commit into
mainfrom
dependabot/npm_and_yarn/web/ws-8.21.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 26, 2026 •

Copy link
Copy Markdown
Contributor

Bumps ws from 8.19.0 to 8.21.3.

Release notes

Sourced from ws's releases.

8.21.3

Bug fixes

  • The server now correctly rejects permessage-deflate offers if the incoming client_max_window_bits parameter value is smaller than its configured clientMaxWindowBits (e97a20ea).

8.21.2

Bug fixes

  • Fixed a test for CITGM (2eb3be0b).

8.21.1

Bug fixes

  • Empty fragments are now counted toward the limit (a2f4e7c0).
  • The default values of the maxBufferedChunks and maxFragments options have been reduced (f197ac65).

8.21.0

Features

  • Introduced the maxBufferedChunks and maxFragments options (2b2abd45).

Bug fixes

  • Fixed a remote memory exhaustion DoS vulnerability (2b2abd45).

A high volume of tiny fragments and data chunks could be sent by a peer, using modest network traffic, to crash a ws server or client due to OOM.

import { WebSocket, WebSocketServer } from 'ws';
const wss = new WebSocketServer({ port: 0 }, function () {
const data = Buffer.alloc(1);
const options = { fin: false };
const { port } = wss.address();
const ws = new WebSocket(ws://localhost:${port});
ws.on('open', function () {
(function send() {
ws.send(data, options, function (err) {
if (err) return;
send();
});
})();
});
</tr></table>

... (truncated)

Commits
  • c791e70 [dist] 8.21.3
  • e97a20e [fix] Reject offers with client_max_window_bits below config
  • 787ebf2 [dist] 8.21.2
  • b4d62eb Revert "[ci] Trust Coveralls Homebrew tap"
  • e4bb883 [security] Use GitHub PVR as main reporting channel
  • 2eb3be0 [test] Skip test on Node.js versions where it does not apply
  • ae1de54 [dist] 8.21.1
  • 8e9511b [ci] Trust Coveralls Homebrew tap
  • f197ac6 [fix] Lower default values of maxBufferedChunks and maxFragments
  • 8df8265 [ci] Update actions/checkout action to v7
  • Additional commits viewable in compare view

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update JavaScript code labels Jul 26, 2026
@haasonsaas

Copy link
Copy Markdown
Collaborator

@dependabot rebase

@dependabot dependabot Bot changed the title chore(deps): bump ws from 8.19.0 to 8.21.1 in /web chore(deps): bump ws from 8.19.0 to 8.21.3 in /web Sep 2, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/web/ws-8.21.1 branch from 7040124 to d3f00b7 Compare September 2, 2026 01:12
haasonsaas added a commit that referenced this pull request Sep 2, 2026
The `security` job (`cargo audit`) and the `cargo-deny (advisories +
licenses)` job in .github/workflows/ci.yml have been red on main and on
every pull request, including Dependabot PR #112. Both fail on the same
advisory:

  Crate:    h2
  Version:  0.4.10
  Title:    h2 unbounded empty DATA frames
  ID:       RUSTSEC-2026-0258
  URL:      https://rustsec.org/advisories/RUSTSEC-2026-0258

h2 accepted and queued empty DATA frames without limit; on streams that
were not actively drained this could grow memory without bound or panic
on length overflow. Patched in 0.4.16.

h2 is transitive here, reached through hyper-util, hyper-rustls, axum,
reqwest and mockito. `cargo update -p h2` moves it 0.4.10 -> 0.4.19
within the existing semver requirement, so this is a Cargo.lock-only
change; no manifest and no source changes. The advisory is fixed, not
ignored: deny.toml gains no exception and cargo audit gains no
--ignore flag.

Verified locally with cargo-audit 0.22 and cargo-deny against this
Cargo.lock:
- Before: `cargo audit` reports `error: 1 vulnerability found!`
  (RUSTSEC-2026-0258) and `cargo deny check advisories licenses` reports
  `advisories FAILED, licenses ok`.
- After: `cargo audit` exits 0 with only the three pre-existing allowed
  warnings (RUSTSEC-2026-0221 event-listener, RUSTSEC-2026-0097 rand,
  yanked spin 0.9.8), and `cargo deny check advisories licenses` reports
  `advisories ok, licenses ok`.


Claude-Session: https://claude.ai/code/session_01XpuXXVrWCZk3Tq5NRXejNP

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
@haasonsaas

Copy link
Copy Markdown
Collaborator

@dependabot rebase

Context: #120 just merged, bumping h2 0.4.10 -> 0.4.19 for RUSTSEC-2026-0258. That advisory was failing the security and cargo-deny (advisories + licenses) jobs on this PR for a reason unrelated to the ws bump. Rebasing onto main should clear both.

Bumps [ws](https://github.com/websockets/ws) from 8.19.0 to 8.21.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@8.19.0...8.21.3)

---
updated-dependencies:
- dependency-name: ws
  dependency-version: 8.21.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/web/ws-8.21.1 branch from d3f00b7 to 5558f04 Compare September 2, 2026 01:39
@haasonsaas
haasonsaas merged commit 5ebebc1 into main Sep 2, 2026
12 checks passed
@haasonsaas
haasonsaas deleted the dependabot/npm_and_yarn/web/ws-8.21.1 branch September 2, 2026 01:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update JavaScript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant