CVE-2026-106074
Publiée le 2026-10-23 · Dernière modification le 2026-10-23
Les versions 26.x, 24.x et 22.x de Node.js sont affectées par une faille dans le module `crypto`. Ce problème survient lors de l'utilisation du flag `--build-snapshot` ou lors de la création d'applications exécutables uniques avec `useSnapshot`. Si des fonctions de nombres aléatoires, telles que `crypto.randomUUID()`, sont appelées pendant le processus de snapshot, les caches d'entropie internes résultants sont sauvegardés directement dans le binaire.
Un attaquant peut ainsi prédire des valeurs générées aléatoirement ou provoquer des collisions d'identifiants entre différents processus lancés à partir du même snapshot. Cela compromet la confidentialité et l'intégrité des identifiants, tels que les jetons de session ou les ID uniques. L'exploitation est difficile car elle nécessite des configurations de build spécifiques et un accès réseau, mais aucune interaction avec l'utilisateur ni authentification n'est requise.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
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**.