CVE-2026-54701
Markdown Preview Enhanced es una extensión de vista previa de Markdown para Visual Studio Code. Antes de la versión 0.8.30, Markdown Preview Enhanced lee el contenido de .crossnote/head.html controlado por el repositorio y lo pasa a través de resolvePathsInHeader antes de insertarlo en el encabezado del documento de la vista web de la vista previa, sin eliminar el contenido ejecutable.
Leer descripción completaMostrar menos
El marcado capaz de ejecutar scripts se ejecuta mientras se carga el documento, antes de que se inicien la aplicación React y DOMPurify, y puede acceder a acquireVsCodeApi para enviar mensajes desde la vista web al host de la extensión. Basta con abrir una vista previa de Markdown en un repositorio malicioso para activar el contenido inyectado, y no se requiere ningún clic adicional en la notificación ni en la vista previa. Este problema está corregido en la versión 0.8.30.
Traducción automática del texto original de NVD (en inglés).
CVSS
- Versión: 4.0
- Vector: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:H/VA:L/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
- Puntuación base: 6.9
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
T1189Drive-by Compromiseinitial access95 % - Impacto principal
T1059.007JavaScriptexecution70 %
CWE-79: el head.html del repositorio se inserta sin sanear y ejecuta script al abrir la vista previa, con acceso a acquireVsCodeApi; no requiere clic adicional.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-79
Referencias
- https://github.com/shd101wyy/crossnote/commit/8c55a2ba3365712a1caa4abeece0383bc2994d48
- https://github.com/shd101wyy/crossnote/pull/444
- https://github.com/shd101wyy/crossnote/releases/tag/0.9.31
- https://github.com/shd101wyy/vscode-markdown-preview-enhanced/commit/8bc848b6cbb42b9f35a0f95f7c3bf29b8302970e
- https://github.com/shd101wyy/vscode-markdown-preview-enhanced/pull/2323
- https://github.com/shd101wyy/vscode-markdown-preview-enhanced/releases/tag/0.8.30
- https://github.com/shd101wyy/vscode-markdown-preview-enhanced/security/advisories/GHSA-mcwg-4j78-qwv3
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-54701",
"cveTags": [],
"metrics": {
"cvssMetricV40": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 6.9,
"Automatable": "NOT_DEFINED",
"attackVector": "LOCAL",
"baseSeverity": "MEDIUM",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:H/VA:L/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": "PASSIVE",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "NONE",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "LOW",
"availabilityRequirement": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "LOW",
"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": "shd101wyy",
"product": "vscode-markdown-preview-enhanced",
"versions": [
{
"status": "affected",
"version": "< 0.8.30"
}
]
}
]
}
],
"published": "2026-10-14T20:17:47.580",
"references": [
{
"url": "https://github.com/shd101wyy/crossnote/commit/8c55a2ba3365712a1caa4abeece0383bc2994d48",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/shd101wyy/crossnote/pull/444",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/shd101wyy/crossnote/releases/tag/0.9.31",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/shd101wyy/vscode-markdown-preview-enhanced/commit/8bc848b6cbb42b9f35a0f95f7c3bf29b8302970e",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/shd101wyy/vscode-markdown-preview-enhanced/pull/2323",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/shd101wyy/vscode-markdown-preview-enhanced/releases/tag/0.8.30",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/shd101wyy/vscode-markdown-preview-enhanced/security/advisories/GHSA-mcwg-4j78-qwv3",
"source": "security-advisories@github.com"
}
],
"vulnStatus": "Received",
"weaknesses": [
{
"type": "Primary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-79"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Markdown Preview Enhanced is a Markdown preview extension for Visual Studio Code. Prior to 0.8.30, Markdown Preview Enhanced reads repository-controlled .crossnote/head.html content and passes it through resolvePathsInHeader before inserting it into the head of the preview webview document without removing executable content. Script-capable markup executes while the document loads, before the React application and DOMPurify initialize, and can access acquireVsCodeApi to send messages from the webview to the extension host. Opening a Markdown preview in a malicious repository is sufficient to trigger the injected content, and no additional click within the notification or preview is required. This issue is fixed in version 0.8.30."
}
],
"lastModified": "2026-10-14T20:17:47.580",
"sourceIdentifier": "security-advisories@github.com"
}