CVE-2026-67213
MediumCVSS 5.9Exploitation Probability (EPSS)
Low risk25th percentile - higher than 25% of all known CVEs
Summary
In the nanoid (Nano ID) library before version 5.1.6, there is an infinite loop in the customAlphabet and customRandom functions. When these functions are configured with a size of 0, the internal generation loop never satisfies its exit condition and spins indefinitely, hanging the calling thread.
Risk Assessment
An application that passes an unvalidated, attacker-controlled size of 0 to these functions is exposed to a denial-of-service condition, potentially disrupting service availability.
Recommendation
Update the nanoid library to version 5.1.6 or later and always validate input before passing it to the customAlphabet and customRandom functions.
Other vulnerabilities in nanoid
See all- CVE-2026-73086High
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.
- CVE-2026-67214Medium
The nanoid (Nano ID) library before versions 3.3.16 and 5.1.16 contains an infinite loop in the customAlphabet and nanoid functions of its non-secure module. When given a negative size, the loop counter is decremented from a negative value and never reaches its termination condition, hanging the calling thread.
Original NVD description (English source)
nanoid (Nano ID) before 5.1.6 contains an infinite loop in the customAlphabet and customRandom functions. When these functions are configured with a size of 0, the internal generation loop never satisfies its exit condition and spins indefinitely, hanging the calling thread. An application that passes an unvalidated, attacker-controlled size of 0 to these functions is exposed to a denial-of-service condition.

