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.
Fix
Patch, vendor advisory and mitigation references on NVD 2
- https://github.com/ai/nanoid/commit/cb3626d0f3342fdf179cd425fd9c4fbb92c7d0e7 Patch
- https://www.vulncheck.com/advisories/nanoid-before-infinite-loop-via-zero-size-in-customalphabet-and-customrandom Patch, Release Notes, Third Party Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 8.2 · nanoid_projectNVD modified 2026-10-08 16:17
Affected (CPE criteria) 1
cpe:2.3:a:nanoid_project:nanoid:*:*:*:*:*:node.js:*:*
References 3
- https://github.com/ai/nanoid/commit/cb3626d0f3342fdf179cd425fd9c4fbb92c7d0e7 Patch
- https://github.com/ai/nanoid/releases/tag/5.1.6 Product, Release Notes
- https://www.vulncheck.com/advisories/nanoid-before-infinite-loop-via-zero-size-in-customalphabet-and-customrandom Patch, Release Notes, Third Party Advisory