Skip to content

chore(deps): update dependency ws to >=8.20.1 [security]#1473

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/npm-ws-vulnerability
Open

chore(deps): update dependency ws to >=8.20.1 [security]#1473
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/npm-ws-vulnerability

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 21, 2026

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
ws >=8.18.3>=8.20.1 age adoption passing confidence

ws: Uninitialized memory disclosure

CVE-2026-45736 / GHSA-58qx-3vcg-4xpx

More information

Details

Impact

The websocket.close() implementation is vulnerable to uninitialized memory disclosure when a TypedArray is passed as the reason argument.

Proof of concept
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));
});
Patches

The vulnerability was fixed in ws@8.20.1 (websockets/ws@c0327ec).

Credits

Credit for the private and responsible disclosure of this issue goes to Nikita Skovoroda.

Remarks

Although the calculated CVSS severity is medium, the actual severity is believed to be low, as the flaw is only exploitable through misuse that is unlikely in practice.

Resources

Severity

  • CVSS Score: 4.4 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

websockets/ws (ws)

v8.20.1

Compare Source

Bug fixes

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

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.

v8.20.0

Compare Source

Features

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

v8.19.0

Compare Source

Features

  • Added the closeTimeout option (#​2308).

Bug fixes

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

Configuration

📅 Schedule: (in timezone Asia/Tokyo)

  • Branch creation
    • ""
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from a team as a code owner May 21, 2026 18:46
@renovate renovate Bot added the renovate label May 21, 2026
@renovate renovate Bot requested review from chihiro-adachi and nameless-mc and removed request for a team May 21, 2026 18:46
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 22, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from abaf53b to 1f254ed Compare May 22, 2026 20:02
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 22, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from 1f254ed to 89d5bb9 Compare May 22, 2026 22:48
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 23, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch 2 times, most recently from 85c7adc to ca0bf0f Compare May 23, 2026 17:07
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 23, 2026
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 23, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch 2 times, most recently from 42a2dac to 5837a24 Compare May 23, 2026 17:12
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 23, 2026
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 23, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from 5837a24 to 1f72666 Compare May 23, 2026 17:15
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 23, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from 1f72666 to 29ac544 Compare May 23, 2026 17:32
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 24, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from 29ac544 to b3a17b0 Compare May 24, 2026 20:44
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 24, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from b3a17b0 to 58d878a Compare May 24, 2026 20:47
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 24, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch 2 times, most recently from da01d89 to 9623efb Compare May 24, 2026 20:51
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 24, 2026
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 25, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from 9623efb to fbe38ed Compare May 25, 2026 01:26
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 25, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from fbe38ed to e345e65 Compare May 25, 2026 01:28
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 27, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from e345e65 to 1299722 Compare May 27, 2026 01:02
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 27, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from 1299722 to b35ea09 Compare May 27, 2026 01:04
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 28, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from b35ea09 to fabd5a9 Compare May 28, 2026 14:59
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 28, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from fabd5a9 to d9f7660 Compare May 28, 2026 20:50
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 28, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch 2 times, most recently from b1db9b7 to c0dcaf1 Compare May 29, 2026 01:58
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 29, 2026
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 29, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from c0dcaf1 to da122fd Compare May 29, 2026 13:06
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 29, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from da122fd to cb52262 Compare May 29, 2026 13:17
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 29, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from cb52262 to eca5986 Compare May 29, 2026 13:18
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 29, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from eca5986 to cd58448 Compare May 29, 2026 13:29
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.20.1 [security] chore(deps): update dependency ws to >=8.21.0 [security] May 29, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from cd58448 to be01c37 Compare May 29, 2026 13:31
@renovate renovate Bot changed the title chore(deps): update dependency ws to >=8.21.0 [security] chore(deps): update dependency ws to >=8.20.1 [security] May 29, 2026
@renovate renovate Bot force-pushed the renovate/npm-ws-vulnerability branch from be01c37 to 6a2a874 Compare May 29, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants