CVE-2026-107380
savg-sanitizer es un saneador de SVG/XML para PHP. En versiones anteriores a la 1.0.0, isHrefSafeValue() de svg-sanitizer valida un href de SVG después de la expansión de entidades DTD de XML, pero saveXML() serializa la referencia de entidad original tras eliminar la declaración DTD.
Leer descripción completaMostrar menos
Una entidad manipulada como Tab puede aparecer ante el saneador como un prefijo de fragmento seguro, mientras que la resolución de referencias de caracteres con nombre de HTML5 durante la representación de HTML en línea convierte posteriormente la referencia superviviente en un espacio en blanco, exponiendo una URL javascript:. Cuando una aplicación incrusta en línea el SVG saneado, un usuario que active el enlace puede provocar la ejecución de un script en el origen de la página que lo incrusta. Este problema está corregido en la versión 1.0.0.
Traducción automática del texto original de NVD (en inglés).
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
- Puntuación base: 5.4
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.21%
- Percentil entre todas las CVEs puntuadas: 10
- Fecha de la puntuación: 14/10/2026
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 access90 % - Impacto principal
T1059.007JavaScriptexecution85 %
XSS mediante entidad XML malformada en SVG sanitizado que elude validación href; ejecución JavaScript en contexto de página incrustada tras resolución de referencias HTML5.
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
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-107380",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-107380",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-10-08T20:23:16.348451Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 5.4,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "LOW",
"confidentialityImpact": "LOW"
},
"impactScore": 2.7,
"exploitabilityScore": 2.3
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "darylldoyle",
"product": "svg-sanitizer",
"versions": [
{
"status": "affected",
"version": "< 1.0.0"
}
]
}
]
}
],
"published": "2026-10-08T18:17:23.787",
"references": [
{
"url": "https://github.com/darylldoyle/svg-sanitizer/commit/23877db7e76f1e1df5c3e65ab30239219c3d2867",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/darylldoyle/svg-sanitizer/releases/tag/1.0.0",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/darylldoyle/svg-sanitizer/security/advisories/GHSA-9rjx-3jch-6vjf",
"source": "security-advisories@github.com"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-79"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "savg-sanitizer is a PHP SVG/XML sanitizer. Prior to 1.0.0, svg-sanitizer's isHrefSafeValue() validates an SVG href after XML DTD entity expansion, but saveXML() serializes the original entity reference after removing the DTD declaration. A crafted entity such as Tab can appear to the sanitizer as a safe fragment prefix while HTML5 Named Character Reference resolution during inline HTML rendering later converts the surviving reference to whitespace, exposing a javascript: URL. When an application embeds the sanitized SVG inline, a user who activates the link can cause script to execute in the embedding page's origin. This issue is fixed in version 1.0.0."
}
],
"lastModified": "2026-10-09T16:17:22.457",
"sourceIdentifier": "security-advisories@github.com"
}