Description
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.
Metrics
CVSS 3.1 7.5/10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| nanoid_project | nanoid | >= 3.0.0, < 3.3.17; >= 5.0.0, < 5.1.6 |
References
- https://github.com/ai/nanoid/commit/cb3626d0f3342fdf179cd425fd9c4fbb92c7d0e7Patch
- https://github.com/ai/nanoid/releases/tag/5.1.6Product, Release Notes
- https://www.vulncheck.com/advisories/nanoid-before-infinite-loop-via-zero-size-in-customalphabet-and-customrandomPatch, Release Notes, Third Party Advisory
Timeline
- Published
- Jul 29, 2026
- Last modified
- Oct 23, 2026
- NVD status
- Analyzed