CVE Catalog

CVE-2026-73086

HighCVSS 7.4
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.30%

22th percentile - higher than 22% of all known CVEs

Summary

nanoid prior to versions 3.3.12 and 5.1.11 has a vulnerability in the nanoid(size) function that coerces the size parameter to a signed 32-bit integer, potentially corrupting the CSPRNG state and generating deterministic identifiers.

Risk Assessment

An attacker can predict session tokens, API keys, and other identifiers, leading to security compromise.

Recommendation

Update nanoid to version 3.3.12 or 5.1.11 (or later).

Original NVD description (English source)

nanoid is a secure, URL-friendly, unique string ID generator for JavaScript. Prior to versions 3.3.12 and 5.1.11, the nanoid(size) function in index.js and index.cjs coerces the user-influenced size parameter to a signed 32-bit integer, allowing a value of 2147483648 to become -2147483648 and corrupt the process-wide CSPRNG poolOffset in fillPool(), which causes subsequent session tokens, CSRF tokens, API keys, and unique identifiers to become the deterministic string "uuuuuuuuuuuuuuuuuuuuu" until the process restarts. This issue is fixed in versions 3.3.12 and 5.1.11.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS