Skip to content

Bump ws from 8.18.0 to 8.20.1#4974

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/ws-8.20.1
Open

Bump ws from 8.18.0 to 8.20.1#4974
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/ws-8.20.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 18, 2026

Bumps ws from 8.18.0 to 8.20.1.

Release notes

Sourced from ws's releases.

8.20.1

Bug fixes

  • Fixed an uninitialized memory disclosure issue in websocket.close() (c0327ec1).

Providing a TypedArray (e.g. Float32Array) as the reason argument for websocket.close(), rather than the supported string or Buffer types, caused uninitialized memory to be disclosed to the remote peer.

import { deepStrictEqual } from 'node:assert';
import { WebSocket, WebSocketServer } from 'ws';
const wss = new WebSocketServer(
{ port: 0, skipUTF8Validation: true },
function () {
const { port } = wss.address();
const ws = new WebSocket(ws://localhost:${port}, {
skipUTF8Validation: true
});
ws.on('close', function (code, reason) {
  deepStrictEqual(reason, Buffer.alloc(80));
});

}
);
wss.on('connection', function (ws) {
ws.close(1000, new Float32Array(20));
});

The issue was privately reported by Nikita Skovoroda.

8.20.0

Features

  • Added exports for the PerMessageDeflate class and utilities for the Sec-WebSocket-Extensions and Sec-WebSocket-Protocol headers (d3503c1f).

8.19.0

Features

  • Added the closeTimeout option (#2308).

Bug fixes

  • Handled a forthcoming breaking change in Node.js core (19984854).

... (truncated)

Commits
  • 5d9b316 [dist] 8.20.1
  • c0327ec [security] Fix uninitialized memory disclosure in websocket.close()
  • ce2a3d6 [ci] Test on node 26
  • 58e45b8 [ci] Do not test on node 25
  • 5f26c24 [ci] Run the lint step on node 24
  • 8439255 [dist] 8.20.0
  • d3503c1 [minor] Export the PerMessageDeflate class and header utils
  • 3ee5349 [api] Convert the isServer and maxPayload parameters to options
  • 91707b4 [doc] Add missing space
  • 8b55319 [pkg] Update eslint to version 10.0.1
  • Additional commits viewable in compare view

Dependabot compatibility score

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 show <dependency name> 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.

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

---
updated-dependencies:
- dependency-name: ws
  dependency-version: 8.20.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels May 18, 2026
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dependabot merge

@codacy-production
Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 duplication

Metric Results
Duplication 0

View in Codacy

AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

Copy link
Copy Markdown

@codacy-production codacy-production Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR is currently unmergeable due to a non-existent version string for the 'ws' library in package.json, which will cause installation failures and poses a potential security risk (dependency confusion). Additionally, while the main dependency is bumped, the vulnerable version (8.18.0) is introduced as a nested dependency for '@backstage/cli' within the lockfile, meaning the security risk persists. The package-lock.json also contains extensive unrelated platform-specific changes that should be reverted. Codacy reports the PR as 'Up to Standards' at a high level, but the agent-based review identified these logic and security gaps.

About this PR

  • The package-lock.json contains substantial unrelated changes, adding numerous platform-specific bindings for @oxc-resolver and @swc/core. These changes are out of scope for a dependency bump and suggest the lockfile was generated in a different environment. Please revert these to keep the PR focused.

Test suggestions

  • Verify that 'websocket.close()' handles TypedArray arguments without disclosing uninitialized memory (Security Regression Test).
  • Confirm existing WebSocket functionality (connection, data transfer, heartbeat) remains operational with the new library version.
Prompt proposal for missing tests
Consider implementing these tests if applicable:
1. Verify that 'websocket.close()' handles TypedArray arguments without disclosing uninitialized memory (Security Regression Test).
2. Confirm existing WebSocket functionality (connection, data transfer, heartbeat) remains operational with the new library version.

TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback

Comment thread package.json
"webpack": "^5.95.0",
"webpack-manifest-plugin": "^5.0.0",
"ws": "^8.18.0",
"ws": "^8.20.1",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 HIGH RISK

The version 8.20.1 for ws is not found on the official npm registry. Using a non-existent version will break builds and could be a security risk. Please verify the latest available version (e.g., via npm view ws versions) and update package.json accordingly.

Comment thread package-lock.json
}
},
"node_modules/@backstage/cli/node_modules/ws": {
"version": "8.18.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 MEDIUM RISK

This change introduces version 8.18.0 as a nested dependency, which is the exact version containing the security vulnerability this PR aims to resolve. Even if only used in dev tools, the vulnerable code remains in the repository dependency tree.

Comment thread package-lock.json
"node": ">=14"
}
},
"node_modules/@oxc-resolver/binding-darwin-arm64": {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚪ LOW RISK

Nitpick: This file contains hundreds of unrelated changes for platform-specific bindings of @oxc-resolver and @swc/core. These should be reverted to keep the PR focused. Consider running a clean install in the standard environment.

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.

0 participants