CVE-2026-67213: nanoid: custom generators can loop indefinitely when size is zero
(updated )
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.
References
- github.com/advisories/GHSA-2v37-7h3g-55p8
- github.com/ai/nanoid/commit/cb3626d0f3342fdf179cd425fd9c4fbb92c7d0e7
- github.com/ai/nanoid/commit/e10f8d40ce9d1ab47f66d65a16b48086432730d0
- github.com/ai/nanoid/commit/f9d13f150847d117877adee3460a46eceb0cf49b
- github.com/ai/nanoid/releases/tag/3.3.17
- github.com/ai/nanoid/releases/tag/3.3.18
- github.com/ai/nanoid/releases/tag/5.1.6
- nvd.nist.gov/vuln/detail/CVE-2026-67213
- www.vulncheck.com/advisories/nanoid-before-infinite-loop-via-zero-size-in-customalphabet-and-customrandom
Code Behaviors & Features
Detect and mitigate CVE-2026-67213 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →