GitHub Advisoryadvisory · npm

GHSA-2v37-7h3g-55p8 nanoid: custom generators can loop indefinitely when size is zero

HIGH Published 2026-07-29 Modified 2026-08-13 Official page ↗
Aliases
CVE-2026-67213
Ecosystem
npm
Packages
nanoid
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-835
Reviewed
2026-08-07

Affected packages

• npm nanoid: < 3.3.18 → fixed in 3.3.18 • npm nanoid: >= 4.0.0, < 5.1.6 → fixed in 5.1.6

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.

Related

Alias · CVE (1)

  • CVE-2026-67213 nanoid (Nano ID) before 5.1.6 contains an infinite loop in the customAlphabet and customRandom functions. vulnerability

Weakness · CWE (1)

  • CWE-835 Loop with Unreachable Exit Condition weakness

References