GitHub Advisoryadvisory · npm
GHSA-mwcw-c2x4-8c55 Predictable results in nanoid generation when given non-integer values
MEDIUM
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
- https://nvd.nist.gov/vuln/detail/CVE-2024-55565 advisory
- https://github.com/ai/nanoid/pull/510 web
- https://github.com/ai/nanoid package
- https://github.com/ai/nanoid/compare/3.3.7...3.3.8 web
- https://github.com/ai/nanoid/releases/tag/5.0.9 web
- https://lists.debian.org/debian-lts-announce/2024/12/msg00025.html web
- https://lists.debian.org/debian-lts-announce/2025/01/msg00006.html web