CVE-2026-15921

Node Version Manager (nvm) is a POSIX-compliant shell function for managing multiple node.js versions. In versions 0.32.1 through 0.40.5, `nvm ls-remote` (and other commands that refresh remote LTS aliases, such as `nvm install --lts`) parse the node.js mirror's `index.tab` and use each release's LTS codename field as an alias filename without validating it. A malicious, compromised, or man-in-the-middled mirror can return an LTS codename containing path-traversal sequences such as `../../../.bashrc`, causing nvm to write the associated version string to a path outside `$NVM_DIR/alias`. With the default layout (`$NVM_DIR` is `~/.nvm`), this can create or overwrite files in the user's home directory, including shell startup files, which can lead to code execution in a later shell session. Exploitation requires the victim to use a hostile mirror -- via a compromised mirror or CDN, a network man-in-the-middle, or a maliciously configured `NVM_NODEJS_ORG_MIRROR`/`NVM_IOJS_ORG_MIRROR` -- and to run an affected command. Version 0.40.6 validates remote LTS codenames as safe alias filenames and rejects `..` path components when writing alias files.
Configurations

No configuration.

History

24 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) Node Version Manager (nvm) es una función de shell compatible con POSIX para gestionar múltiples versiones de node.js. En las versiones 0.32.1 a 0.40.5, ’nvm ls-remote’ (y otros comandos que actualizan alias LTS remotos, como ’nvm install --lts’) analizan el ’index.tab’ del mirror de node.js y usan el campo de nombre en clave LTS de cada lanzamiento como un nombre de archivo de alias sin validarlo. Un mirror malicioso, comprometido o con un ataque de man-in-the-middle puede devolver un nombre en clave LTS que contenga secuencias de path-traversal como ’.. / .. / .. / .bashrc’, haciendo que nvm escriba la cadena de versión asociada a una ruta fuera de ’$NVM_DIR/alias’. Con la configuración predeterminada (’$NVM_DIR’ es ’~/.nvm’), esto puede crear o sobrescribir archivos en el directorio de inicio del usuario, incluidos los archivos de inicio de shell, lo que puede llevar a la ejecución de código en una sesión de shell posterior. La explotación requiere que la víctima use un mirror hostil -- a través de un mirror o CDN comprometido, un man-in-the-middle de red, o un ’NVM_NODEJS_ORG_MIRROR’/’NVM_IOJS_ORG_MIRROR’ configurado maliciosamente -- y que ejecute un comando afectado. La versión 0.40.6 valida los nombres en clave LTS remotos como nombres de archivo de alias seguros y rechaza los componentes de ruta ’..’ al escribir archivos de alias.

Information

Published : 2026-07-15 22:16

Updated : 2026-10-24 21:10


NVD link : CVE-2026-15921

Mitre link : CVE-2026-15921

CVE.ORG link : CVE-2026-15921


JSON object : View

Products Affected

No product.

CWE
CWE-22

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

CWE-73

External Control of File Name or Path