Description
A flaw in Node.js `crypto` causes the internal entropy caches used by `crypto.randomUUID()`, `crypto.randomUUIDv7()`, and `crypto.randomInt()` to be saved into user-land startup snapshots (`--build-snapshot`) and single executable applications built with `useSnapshot`.

If any of these functions, or an API that relies on them such as `URL.createObjectURL()`, is called while the snapshot is built, every process started from that snapshot returns the same values until the cache is refilled: up to 127 UUIDs and about 1,000 `randomInt()` values. Identifiers expected to be unique can collide across processes, and values issued by one process can be predicted by observing another.

This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.
Published: 2026-10-23
Score: 4.8 Medium
EPSS: n/a
KEV: No
Impact: Predictable Random Values / Identifier Collision
Action: Patch Immediately
AI Analysis

Impact

A flaw in Node.js crypto causes internal entropy caches used by randomUUID, randomUUIDv7, and randomInt to be written into user-land startup snapshots. When these functions (or dependent APIs such as URL.createObjectURL) are invoked while a snapshot is built, every process started from that snapshot emits the same values until the cache is refilled—up to 127 UUIDs and roughly 1,000 randomInt outputs. Identifiers that should be unique can collide across processes, and values produced by one process may be predicted by observing another, weakening confidentiality and potentially enabling targeted exploitation based on predictable IDs. The weakness is formally identified as CWE-330.

Affected Systems

This vulnerability impacts Node.js 26.x, 24.x and 22.x. It affects any deployment that builds a startup snapshot with the --build-snapshot option or creates a single-executable application using the useSnapshot feature and invokes the affected crypto functions during snapshot creation.

Risk and Exploitability

With a CVSS score of 4.8 the flaw represents moderate severity. EPSS information is not available and the vulnerability is not listed in CISA KEV. Attacks are likely to be achieved by controlling or influencing snapshot generation, or by monitoring multiple processes that share the same cached entropy. An attacker who can trigger or observe the repeatable random values can force collisions or anticipate unique identifiers used in URLs, tokens, or other context-sensitive data. The impact is primarily non-RCE; the risk depends on whether an application’s correctness or security relies on the uniqueness of the affected random values.

Generated by OpenCVE AI on October 23, 2026 at 17:45 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Node.js to the latest patched release that removes the cache leakage (e.g., a newer minor release of 26.x or any newer major version).
  • Rebuild any startup snapshots or single-executable binaries with the --build-snapshot option disabled, or ensure that calls to crypto.randomUUID, crypto.randomUUIDv7, or crypto.randomInt are not executed while the snapshot is being created.
  • If rebuilding is not possible, avoid using these APIs in contexts where uniqueness is critical until the cache can be refreshed or the application is rebuilt with the patch applied.

Generated by OpenCVE AI on October 23, 2026 at 17:45 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 18:00:00 +0000

Type Values Removed Values Added
Title Predictable Random Values Leak in Node.js Startup Snapshots

Fri, 23 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Description A flaw in Node.js `crypto` causes the internal entropy caches used by `crypto.randomUUID()`, `crypto.randomUUIDv7()`, and `crypto.randomInt()` to be saved into user-land startup snapshots (`--build-snapshot`) and single executable applications built with `useSnapshot`. If any of these functions, or an API that relies on them such as `URL.createObjectURL()`, is called while the snapshot is built, every process started from that snapshot returns the same values until the cache is refilled: up to 127 UUIDs and about 1,000 `randomInt()` values. Identifiers expected to be unique can collide across processes, and values issued by one process can be predicted by observing another. This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.
Weaknesses CWE-330
References
Metrics cvssV3_0

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: hackerone

Published:

Updated: 2026-10-23T16:15:05.829Z

Reserved: 2026-10-06T15:00:00.655Z

Link: CVE-2026-106074

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-23T17:17:20.473

Modified: 2026-10-23T19:42:24.553

Link: CVE-2026-106074

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T17:45:17Z

Weaknesses
  • CWE-330

    Use of Insufficiently Random Values