Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. nanoid
  4. ›
  5. CVE-2024-55565

CVE-2024-55565: Predictable results in nanoid generation when given non-integer values

December 9, 2024 (updated December 13, 2024)

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.

References

  • github.com/advisories/GHSA-mwcw-c2x4-8c55
  • github.com/ai/nanoid
  • github.com/ai/nanoid/compare/3.3.7...3.3.8
  • github.com/ai/nanoid/pull/510
  • github.com/ai/nanoid/releases/tag/5.0.9
  • nvd.nist.gov/vuln/detail/CVE-2024-55565

Code Behaviors & Features

Detect and mitigate CVE-2024-55565 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 3.3.8, all versions starting from 4.0.0 before 5.0.9

Fixed versions

  • 5.0.9
  • 3.3.8

Solution

Upgrade to versions 3.3.8, 5.0.9 or above.

Impact 4.3 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N

Learn more about CVSS

Weakness

  • CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')

Source file

npm/nanoid/CVE-2024-55565.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Wed, 14 May 2025 12:15:30 +0000.