launch-editor: escapeCmdArgs() omite el escape de % en Windows
Resumen
launch-editor no escapaba % en Windows al pasar un argumento a cmd. Cuando una variable de entorno contenía un valor malicioso, era posible que dicho contenido fuera ejecutado.
Impacto
Solo se ven afectadas las aplicaciones que cumplen con todas las condiciones siguientes:
- El usuario utiliza Windows
- Un atacante puede colocar un archivo con un nombre malicioso que contenga
&o% - Se cumple cualquiera de las siguientes situaciones:
- Un atacante puede inyectar una variable de entorno con un valor malicioso
- Un atacante puede agregar un flujo de datos alternativo NTFS al archivo colocado
Detalles
A diferencia de los archivos .sh, los archivos .bat / .cmd en Windows no se pueden invocar directamente mediante child_process.spawn y requieren ser pasados como argumento de cmd.exe. Para lograr esto, launch-editor escapa los argumentos pasados a cmd.exe. Sin embargo, launch-editor no escapaba %, el cual se utiliza para variables de entorno.
Dado que launch-editor verifica si el argumento coincide con un nombre de archivo existente, el ataque requiere que el atacante pueda colocar un archivo.
- Si el atacante también puede inyectar una variable de entorno, puede incluir el subcomando en la variable (p. ej., establecer
&calc.exeen%ENV%) y llamar alaunchEditorconsomething%ENV%. - Si el atacante puede colocar un flujo de datos alternativo NTFS en el archivo (p. ej., un flujo alternativo NTFS llamado
~-38%calc.exe), puede llamar alaunchEditorconsomething %CMDCMDLINE:~-38%calc.exe. - Si el atacante puede crear un nombre de archivo que contenga
%CD%y el subcomando (p. ej.,&calc.exe), puede llamar alaunchEditorcon./%CD%.
Qué hacer
Actualice launch-editor a la versión 2.14.2 o posterior, vite a la versión 6.4.4, 7.3.7, 8.1.6, 8.2.4, 8.3.3 o posterior, o vite-plus a la versión 1.1.0 o posterior.
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Paquete de npm | launch-editor | < 2.14.2 | 2.14.2 |
| Paquete de npm | vite | >= 8.3.0, < 8.3.3, >= 8.2.0, < 8.2.4, >= 8.0.0, < 8.1.6, >= 7.0.0, < 7.3.7, < 6.4.4 | 8.3.3, 8.2.4, 8.1.6, 7.3.7, 6.4.4 |
| Paquete de npm | vite-plus | < 1.1.0 | 1.1.0 |
Referencias
- https://github.com/vitejs/launch-editor/security/advisories/GHSA-698v-4r3x-3vcv
- https://nvd.nist.gov/vuln/detail/CVE-2026-112943
- https://github.com/vitejs/launch-editor/pull/155
- https://github.com/vitejs/launch-editor/commit/3c2f9bf2ff8fe63d056a8f9cc52d825b66ca79fc
- https://github.com/vitejs/launch-editor
- https://github.com/vitejs/launch-editor/releases/tag/v2.14.2
- Vector CVSS
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N- Debilidad (CWE)
CWE-78- Plataforma
- npm
- Paquete
launch-editor, vite, vite-plus- Publicada
- 20.10.2026
- Actualizado
- 20.10.2026 21:37
Fuentes y licencias · Editado o traducido por DockRay; se mantienen los derechos y las licencias de las fuentes.
OSV / GitHub Advisory Database - GHSA-698v-4r3x-3vcv - CC BY 4.0
Historial de vulnerabilidades: launch-editor
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
- 4
- Primera → última
- 06.2026 10.2026
- Sin corrección
- 0
- Explotada en ataques
- 0
Distribución por gravedad
- Alta 2
- Media 2
Divulgaciones por año
- 2026: 4
-
launch-editor: escapeCmdArgs() omite el escape de % en Windows 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.