CVE-2026-112942
launch-editor permite a los usuarios abrir archivos con números de línea en un editor desde Node.js. Antes de la versión 2.14.2, launch-editor-middleware procesa un argumento de archivo en Windows controlado por un atacante cuando dicho argumento termina en un componente de directorio padre seguido de un sufijo de línea y columna: la ruta se resuelve mientras el sufijo todavía está presente, y launch-editor elimina el sufijo antes de su comprobación existsSync, dejando el directorio padre existente para existsSync y permitiendo que el argumento de archivo controlado por el atacante supere la validación de existencia del nombre de archivo sin que el nombre de archivo malicioso tenga que existir. El bypass puede derivar en una inyección de comandos del sistema operativo cuando se combina con el fallo de expansión de porcentajes en Windows descrito por separado. Este problema se ha corregido en la versión 2.14.2.
Traducción automática del texto original de NVD (en inglés).
CVSS
- Puntuación base
- 7.5
- Versión
- 4.0
- Vector
- 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Probabilidad de explotación (EPSS)
FIRST aún no ha puntuado esta CVE (habitual en CVEs muy recientes o rechazadas).
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1203Exploitation for Client Executionexecution60 % - Impacto principal
T1059Command and Scripting Interpreterexecution55 %
Inferido por reglas deterministas a partir del vector CVSS y la CWE. Solo orientativo.
Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (2)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-77
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-112942",
"cveTags": [],
"metrics": {
"cvssMetricV40": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 7.5,
"Automatable": "NOT_DEFINED",
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"valueDensity": "NOT_DEFINED",
"vectorString": "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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"exploitMaturity": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED",
"userInteraction": "ACTIVE",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"privilegesRequired": "NONE",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "HIGH",
"availabilityRequirement": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"confidentialityRequirement": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED"
}
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "vitejs",
"product": "launch-editor",
"versions": [
{
"status": "affected",
"version": "< 2.14.2"
}
]
},
{
"vendor": "vitejs",
"product": "vite",
"versions": [
{
"status": "affected",
"version": ">= 8.3.0, < 8.3.3"
},
{
"status": "affected",
"version": ">= 8.2.0, < 8.2.4"
},
{
"status": "affected",
"version": ">= 8.0.0, < 8.1.6"
},
{
"status": "affected",
"version": ">= 7.0.0, < 7.3.7"
},
{
"status": "affected",
"version": "< 6.4.4"
}
]
},
{
"vendor": "vitejs",
"product": "vite-plus",
"versions": [
{
"status": "affected",
"version": "< 1.1.0"
}
]
}
]
}
],
"published": "2026-10-20T15:17:17.230",
"references": [
{
"url": "https://github.com/vitejs/launch-editor/commit/f13cd835d4b8e860b1d4d080ad8a490cc2463679",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/vitejs/launch-editor/releases/tag/v2.14.2",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/vitejs/launch-editor/security/advisories/GHSA-587h-7wmj-h5pm",
"source": "security-advisories@github.com"
}
],
"vulnStatus": "Received",
"weaknesses": [
{
"type": "Primary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-77"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, launch-editor-middleware processes an attacker-controlled Windows file argument where the file argument ends in a parent-directory component plus a line-and-column suffix: the path is resolved while the suffix is still present, and launch-editor removes the suffix before its existsSync check, leaving the existing parent directory for existsSync and allowing the attacker-controlled file argument to pass filename existence validation without requiring the malicious filename to exist. The bypass can lead to OS command injection when combined with the separately described Windows percent-expansion flaw. This issue is fixed in version 2.14.2."
}
],
"lastModified": "2026-10-20T15:17:17.230",
"sourceIdentifier": "security-advisories@github.com"
}