Impact
A flaw in Node.js crypto causes the internal entropy caches used by crypto.randomUUID(), crypto.randomUUIDv7(), and crypto.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 being built, every process started from that snapshot emits the same values until the cache is refilled—up to 127 UUIDs and about 1,000 randomInt values. The resulting identifier collisions and predictability weaken confidentiality and may allow an attacker to anticipate tokens or URLs that rely on these random values. The weaknesses correspond to improper use of random numbers and entropy handling (CWE‑330 and CWE‑335).
Affected Systems
The flaw affects Node.js 26.x, 24.x, and 22.x. Any deployment that builds a startup snapshot with --build-snapshot or creates a single‑executable application using the useSnapshot feature and invokes the affected crypto functions during snapshot creation is vulnerable.
Risk and Exploitability
With a CVSS score of 4.8 the vulnerability has moderate severity. The EPSS score of <1% indicates a low likelihood of exploitation, and it is not listed in CISA’s KEV catalog. Based on the description, the likely attack vector is controlling or influencing snapshot generation—or monitoring the predictable outputs of processes that share a snapshot. An attacker who can trigger or observe these repeatable random values can force collisions or anticipate unique identifiers used in URLs, tokens, or other context‑sensitive data, potentially enabling targeted exploitation when an application relies on the uniqueness of these values. The impact is therefore non‑RCE but may compromise confidentiality and integrity.
OpenCVE Enrichment