Vulnerabilidad en node-tar de isaacs (CVE-2026-23950)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
20/01/2026
Última modificación:
18/02/2026
Descripción
node-tar, un Tar para Node.js, tiene una vulnerabilidad de condición de carrera en versiones hasta la 7.5.3 inclusive. Esto se debe a un manejo incompleto de colisiones de rutas Unicode en el sistema 'path-reservations'. En sistemas de archivos que no distinguen mayúsculas y minúsculas o que no distinguen la normalización (como macOS APFS, en el que ha sido probado), la librería no logra bloquear rutas en colisión (por ejemplo, 'ß' y 'ss'), permitiendo que se procesen en paralelo. Esto elude las salvaguardias internas de concurrencia de la librería y permite ataques de envenenamiento de enlaces simbólicos (Symlink Poisoning) a través de condiciones de carrera. La librería utiliza un sistema 'PathReservations' para asegurar que las comprobaciones de metadatos y las operaciones de archivo para la misma ruta se serialicen. Esto previene condiciones de carrera donde una entrada podría sobrescribir otra concurrentemente. Esta es una Condición de Carrera que permite la Sobreescritura Arbitraria de Archivos (Arbitrary File Overwrite). Esta vulnerabilidad afecta a usuarios y sistemas que utilizan node-tar en macOS (APFS/HFS+). Debido al uso de la normalización Unicode 'NFD' (en la que 'ß' y 'ss' son diferentes), las rutas en conflicto no conservan su orden correctamente en sistemas de archivos que ignoran la normalización Unicode (por ejemplo, APFS (en el que 'ß' causa una colisión de inodos con 'ss')). Esto permite a un atacante eludir bloqueos de paralelización internos ('PathReservations') utilizando nombres de archivo en conflicto dentro de un archivo tar malicioso. El parche en la versión 7.5.4 actualiza 'path-reservations.js' para usar una forma de normalización que coincida con el comportamiento del sistema de archivos de destino (por ejemplo, 'NFKD'), seguido primero de 'toLocaleLowerCase('en')' y luego de 'toLocaleUpperCase('en')'. Como solución alternativa, los usuarios que no pueden actualizar rápidamente, y que están utilizando 'node-tar' programáticamente para extraer datos arbitrarios de tarball deberían filtrar todas las entradas 'SymbolicLink' (como hace npm) para defenderse contra escrituras de archivos arbitrarias a través de este problema de colisión de nombres de entradas del sistema de archivos.
Impacto
Puntuación base 3.x
8.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:isaacs:tar:*:*:*:*:*:node.js:*:* | 7.5.4 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



