Description
ws is an open source WebSocket client and server for Node.js. Prior to 8.20.1, the websocket.close() implementation is vulnerable to uninitialized memory disclosure when a TypedArray is passed as the reason argument. This vulnerability is fixed in 8.20.1.
Published: 2026-05-15
Score: 4.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

ws, the open‑source WebSocket client and server for Node.js, has a flaw in its websocket.close() implementation. When a TypedArray is passed as the reason argument, the function accesses uninitialized memory, allowing an attacker to read data that was never explicitly set. This can lead to the leak of sensitive information such as cryptographic keys, credentials, or other confidential data. The weakness is represented by CWE‑824 (Uninitialized Data Read) and CWE‑908 (Uninitialized Memory Access).

Affected Systems

The vulnerability affects all releases of ws earlier than version 8.20.1, including the 8.19.x line and any prior releases. Applications that import or require the ws module and use the close() method with a TypedArray argument are susceptible. The issue is confined to the library itself and does not affect the underlying Node.js runtime beyond the application scope.

Risk and Exploitability

The CVSS score of 4.4 indicates a medium severity. The EPSS score of <1% shows a very low probability of exploitation in the wild, and the vulnerability is not listed in the CISA KEV catalog, further suggesting limited current exploitation activity. The exposure is local to the running Node.js process; an attacker would need the ability to influence the code path that triggers websocket.close() or have access to the process memory. Consequently, the impact is primarily data leakage rather than a full compromise of the system.

Generated by OpenCVE AI on August 14, 2026 at 03:05 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to ws 8.20.1 or later, which sanitizes the TypedArray input.
  • Refactor any websocket.close calls that supply a TypedArray, replacing the argument with a string, null, or another safe type and enforce input validation to reject TypedArrays.
  • If an upgrade or refactor is not immediately possible, run the application in a restricted environment that limits process memory visibility and monitor for anomalous memory access patterns as a temporary mitigation.

Generated by OpenCVE AI on August 14, 2026 at 03:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-58qx-3vcg-4xpx ws: Uninitialized memory disclosure
References
Link Providers
https://access.redhat.com/errata/RHSA-2026:26638 cve-icon
https://access.redhat.com/errata/RHSA-2026:26994 cve-icon
https://access.redhat.com/errata/RHSA-2026:27171 cve-icon
https://access.redhat.com/errata/RHSA-2026:29197 cve-icon
https://access.redhat.com/errata/RHSA-2026:33574 cve-icon
https://access.redhat.com/errata/RHSA-2026:34374 cve-icon
https://access.redhat.com/errata/RHSA-2026:36754 cve-icon
https://access.redhat.com/errata/RHSA-2026:36820 cve-icon
https://access.redhat.com/errata/RHSA-2026:37272 cve-icon
https://access.redhat.com/errata/RHSA-2026:40768 cve-icon
https://access.redhat.com/errata/RHSA-2026:40792 cve-icon
https://access.redhat.com/errata/RHSA-2026:41928 cve-icon
https://access.redhat.com/errata/RHSA-2026:44235 cve-icon
https://access.redhat.com/errata/RHSA-2026:44263 cve-icon
https://access.redhat.com/errata/RHSA-2026:44267 cve-icon
https://access.redhat.com/errata/RHSA-2026:48151 cve-icon
https://access.redhat.com/errata/RHSA-2026:48693 cve-icon
https://access.redhat.com/errata/RHSA-2026:56366 cve-icon
https://access.redhat.com/errata/RHSA-2026:56431 cve-icon
https://access.redhat.com/errata/RHSA-2026:56928 cve-icon
https://access.redhat.com/errata/RHSA-2026:57013 cve-icon
https://access.redhat.com/errata/RHSA-2026:57590 cve-icon
https://access.redhat.com/errata/RHSA-2026:60520 cve-icon
https://access.redhat.com/errata/RHSA-2026:7655 cve-icon
https://access.redhat.com/security/cve/CVE-2026-45736 cve-icon
https://bugzilla.redhat.com/show_bug.cgi?id=2477914 cve-icon
https://github.com/websockets/ws/commit/c0327ec15a54d701eb6ccefaa8bef328cfc03086 cve-icon cve-icon
https://github.com/websockets/ws/security/advisories/GHSA-58qx-3vcg-4xpx cve-icon cve-icon cve-icon
https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-45736.json cve-icon
History

Fri, 28 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
References

Fri, 21 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
References

Thu, 20 Aug 2026 13:30:00 +0000


Wed, 19 Aug 2026 12:30:00 +0000


Tue, 19 May 2026 14:45:00 +0000

Type Values Removed Values Added
First Time appeared Ws Project
Ws Project ws
CPEs cpe:2.3:a:ws_project:ws:*:*:*:*:*:node.js:*:*
Vendors & Products Ws Project
Ws Project ws

Sat, 16 May 2026 01:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 15 May 2026 16:45:00 +0000

Type Values Removed Values Added
First Time appeared Websockets
Websockets ws
Vendors & Products Websockets
Websockets ws

Fri, 15 May 2026 15:15:00 +0000

Type Values Removed Values Added
Description ws is an open source WebSocket client and server for Node.js. Prior to 8.20.1, the websocket.close() implementation is vulnerable to uninitialized memory disclosure when a TypedArray is passed as the reason argument. This vulnerability is fixed in 8.20.1.
Title ws: Uninitialized memory disclosure
Weaknesses CWE-908
References
Metrics cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-28T12:04:23.744Z

Reserved: 2026-05-13T06:54:34.219Z

Link: CVE-2026-45736

cve-icon Vulnrichment

Updated: 2026-08-26T12:04:55.600Z

cve-icon NVD

Status : Modified

Published: 2026-05-15T15:16:54.103

Modified: 2026-08-28T16:18:08.950

Link: CVE-2026-45736

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T03:15:12Z

Weaknesses
  • CWE-824

    Access of Uninitialized Pointer

  • CWE-908

    Use of Uninitialized Resource