launch-editor: se puede eludir la comprobación de existencia de `fs.existsSync()` en Windows
Resumen
launch-editor comprobaba fs.existsSync(fileName) antes de pasar una ruta suministrada a un comando del editor. En Windows, un atacante puede eludir esta comprobación mediante una ruta manipulada que termine en \\..:line:column. Esto elimina el requisito de que el atacante pueda colocar un archivo con un nombre malicioso.
Combinada con el problema de escape de % descrito en GHSA-698v-4r3x-3vcv,), esta evasión puede derivar en inyección de comandos del sistema operativo cuando un atacante controla el argumento del archivo.
Impacto
Solo se ven afectadas las aplicaciones que se ejecutan en Windows.
Detalles
El aviso anterior asumía que fs.existsSync() requería la existencia de un nombre de archivo controlado por el atacante. Este aviso cubre la omisión de ese requisito.
Un valor manipulado que termina en \\..:1:1 es interpretado de forma diferente por launch-editor-middleware, launch-editor y Windows:
launch-editor-middlewarellama apath.resolve()mientras el componente final de la ruta es..:1:1, por lo que no se procesa como un componente de directorio principal.launch-editorprocesa:1:1como un sufijo de línea y columna y lo elimina, dejando una ruta que termina en\\...- En Windows,
fs.existsSync()acepta la ruta resultante como el directorio principal existente a pesar de que el componente precedente controlado por el atacante no existe. - Debido a que la comprobación de existencia se supera con éxito, el nombre de archivo manipulado llega al comando del intérprete de comandos de Windows.
Qué hacer
Actualice launch-editor a la versión 2.14.2 o posterior. Si utiliza vite, actualice a 6.4.4, 7.3.7, 8.1.6, 8.2.4, 8.3.3 o posterior. Si utiliza vite-plus, actualice a 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-587h-7wmj-h5pm
- https://nvd.nist.gov/vuln/detail/CVE-2026-112942
- https://github.com/vitejs/launch-editor/commit/f13cd835d4b8e860b1d4d080ad8a490cc2463679
- 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:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N- Debilidad (CWE)
CWE-77- Plataforma
- npm
- Paquete
launch-editor, vite, vite-plus- Publicada
- 20.10.2026
- Actualizado
- 20.10.2026 23:19
Fuentes y licencias · Editado o traducido por DockRay; se mantienen los derechos y las licencias de las fuentes.
OSV / GitHub Advisory Database - GHSA-587h-7wmj-h5pm - 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: se puede eludir la comprobación de existencia de `fs.existsSync()` 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.