Predictable results in nanoid generation when given non-integer values
When nanoid is called with a fractional value, there were a number of undesirable effects:
- in browser and non-secure, the code infinite loops on while (size--)
- in node, the value of poolOffset becomes fractional, causing calls to nanoid to return zeroes until the pool is next filled
- 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.
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Paquete de npm | nanoid | >= 4.0.0, < 5.0.9, < 3.3.8 | 5.0.9, 3.3.8 |
Referencias
- https://nvd.nist.gov/vuln/detail/CVE-2024-55565
- https://github.com/ai/nanoid/pull/510
- https://github.com/ai/nanoid
- https://github.com/ai/nanoid/compare/3.3.7...3.3.8
- https://github.com/ai/nanoid/releases/tag/5.0.9
- https://lists.debian.org/debian-lts-announce/2024/12/msg00025.html
- https://lists.debian.org/debian-lts-announce/2025/01/msg00006.html
- Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N- Debilidad (CWE)
CWE-835- Plataforma
- npm
- Paquete
nanoid- Publicada
- 09.12.2024
- Actualizado
- 11.10.2026 10:22
Fuentes y licencias
OSV / GitHub Advisory Database - GHSA-mwcw-c2x4-8c55 - CC BY 4.0
Historial de vulnerabilidades: nanoid
Todas las vulnerabilidades publicadas de este paquete (Paquete de npm), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.
- Entradas en total
- 5
- Primera → última
- 01.2022 09.2026
- Sin corrección
- 0
- Explotada en ataques
- 0
Distribución por gravedad
- Alta 3
- Media 2
Divulgaciones por año
- 2022: 1
- 2023: 0
- 2024: 1
- 2025: 0
- 2026: 3
-
Predictable results in nanoid generation when given non-integer values esta entrada
Identifica las vulnerabilidades de tu aplicación
Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.