---
id: "CVE-2026-106074"
kind: "vulnerability"
aliases: ["CVE-2026-106074"]
title: "Node.js: snapshot builds freeze random UUID and integer caches across processes"
severity: "medium"
cvss: 4.8
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["cli-tools", "node.js", "poc-public", "runtime", "self-hosted"]
not_affected_if: ["default-config", "no-snapshots"]
published_at: "2026-10-23T17:17:20+00:00"
first_seen_at: "2026-10-23T21:57:34+00:00"
updated_at: "2026-10-25T04:32:58+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-106074", "first_seen_at": "2026-10-23T21:57:34+00:00"}, {"source": "github-poc", "url": "https://github.com/CompleteTech-LLC/node-cve-2026-106074-check", "first_seen_at": "2026-10-23T23:55:02+00:00"}]
---

# Node.js: snapshot builds freeze random UUID and integer caches across processes

Node.js saves its random UUID and randomInt entropy caches into startup snapshots and single executable applications built with snapshots. Every process started from such a snapshot returns the same values until the cache refills, so identifiers can collide and be predicted from another process.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Run `node --version` and compare against the fixed releases listed in the advisory.
- Search build scripts for `--build-snapshot` or `useSnapshot` and check whether `crypto.randomUUID()`, `crypto.randomUUIDv7()`, `crypto.randomInt()` or `URL.createObjectURL()` run during snapshot construction.

## Fix

- Upgrade Node.js 26.x, 24.x or 22.x to the patched release named in the Node.js security advisory (exact version unknown from the sources).
- Rebuild any snapshot or single executable application after upgrading, or avoid calling these random APIs while the snapshot is built.

## Timeline

- 2026-10-23T21:57:34+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-106074
- 2026-10-23T23:55:02+00:00 github-poc https://github.com/CompleteTech-LLC/node-cve-2026-106074-check

## Documents

- [poc] CompleteTech-LLC/node-cve-2026-106074-check https://github.com/CompleteTech-LLC/node-cve-2026-106074-check

## From the sources

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**.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
