GitHub Advisoryadvisory · npm

GHSA-mwcw-c2x4-8c55 Predictable results in nanoid generation when given non-integer values

MEDIUM Published 2024-12-09 Modified 2025-11-04 Official page ↗
Aliases
CVE-2024-55565
Ecosystem
npm
Packages
nanoid
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Weaknesses
CWE-835
Reviewed
2024-12-09

Affected packages

• npm nanoid: >= 4.0.0, < 5.0.9 → fixed in 5.0.9 • npm nanoid: < 3.3.8 → fixed in 3.3.8

Description

When nanoid is called with a fractional value, there were a number of undesirable effects: 1. in browser and non-secure, the code infinite loops on while (size--) 2. in node, the value of poolOffset becomes fractional, causing calls to nanoid to return zeroes until the pool is next filled 3. if the first call in node is a fractional argument, the initial buffer allocation fails with an error Version 3.3.8 and 5.0.9 are fixed.

Related

Alias · CVE (1)

  • CVE-2024-55565 nanoid (aka Nano ID) before 5.0.9 mishandles non-integer values. vulnerability

Weakness · CWE (1)

  • CWE-835 Loop with Unreachable Exit Condition weakness

References