CVE-2026-9109
The GPTranslate – Multilingual AI Translation for WordPress: Automatically Translate Websites plugin for WordPress is vulnerable to Stored Cross-Site Scripting via REST API Translation Storage in all versions up to, and including, 2.31 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The deterministically derived API key (sha256 of the site URL) is printed in the HTML source of every page via the JavaScript variable gptApiKey, meaning any unauthenticated visitor can retrieve the key and submit malicious translation payloads to the /wp-json/gptranslate/v1/request endpoint without any additional precondition.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
- Puntuación base: 7.2
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.51%
- Percentil entre todas las CVEs puntuadas: 41
- Fecha de la puntuación: 5/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
T1190Exploit Public-Facing Applicationinitial access60 % - Impacto principal
T1059.007JavaScriptexecution55 %
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 (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://plugins.trac.wordpress.org/browser/gptranslate/tags/2.27.5/assets/js/admin.js#L1
- https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.27.5/gptranslate.php#L1134
- https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.27.5/gptranslate.php#L3578
- https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.27.5/gptranslate.php#L3654
- https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.31/assets/js/admin.js#L1
- https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.31/gptranslate.php#L1134
- https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.31/gptranslate.php#L3578
- https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.31/gptranslate.php#L3654
- https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.32/assets/js/admin.js#L1
- https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.32/gptranslate.php#L1104
- https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.32/gptranslate.php#L3574
- https://www.wordfence.com/threat-intel/vulnerabilities/id/1c93b564-5428-4b0e-bbe8-f1e1e68940ac?source=cve
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-9109",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-9109",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-06-15T17:22:03.582274Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security@wordfence.com",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 7.2,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 2.7,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "security@wordfence.com",
"affectedData": [
{
"vendor": "john-dagelmore",
"product": "GPTranslate – Multilingual AI Translation for WordPress: Automatically Translate Websites",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver",
"lessThanOrEqual": "2.31"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-06-13T07:16:14.853",
"references": [
{
"url": "https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.27.5/assets/js/admin.js#L1",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.27.5/gptranslate.php#L1134",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.27.5/gptranslate.php#L3578",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.27.5/gptranslate.php#L3654",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.31/assets/js/admin.js#L1",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.31/gptranslate.php#L1134",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.31/gptranslate.php#L3578",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.31/gptranslate.php#L3654",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.32/assets/js/admin.js#L1",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.32/gptranslate.php#L1104",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/gptranslate/tags/2.32/gptranslate.php#L3574",
"source": "security@wordfence.com"
},
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/1c93b564-5428-4b0e-bbe8-f1e1e68940ac?source=cve",
"source": "security@wordfence.com"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "security@wordfence.com",
"description": [
{
"lang": "en",
"value": "CWE-79"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "The GPTranslate – Multilingual AI Translation for WordPress: Automatically Translate Websites plugin for WordPress is vulnerable to Stored Cross-Site Scripting via REST API Translation Storage in all versions up to, and including, 2.31 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The deterministically derived API key (sha256 of the site URL) is printed in the HTML source of every page via the JavaScript variable gptApiKey, meaning any unauthenticated visitor can retrieve the key and submit malicious translation payloads to the /wp-json/gptranslate/v1/request endpoint without any additional precondition."
},
{
"lang": "es",
"value": "El plugin GPTranslate - Multilingual AI Translation for WordPress: Automatically Translate Websites para WordPress es vulnerable a cross-site scripting almacenado a través del almacenamiento de traducción de la API REST en todas las versiones hasta la 2.31, inclusive, debido a la sanitización insuficiente de la entrada y al escape de la salida. Esto hace posible que atacantes no autenticados inyecten scripts web arbitrarios en páginas que se ejecutarán cada vez que un usuario acceda a una página inyectada. La clave API derivada determinísticamente (sha256 de la URL del sitio) se imprime en el código fuente HTML de cada página a través de la variable JavaScript gptApiKey, lo que significa que cualquier visitante no autenticado puede recuperar la clave y enviar cargas útiles de traducción maliciosas al endpoint /wp-json/gptranslate/v1/request sin ninguna precondición adicional."
}
],
"lastModified": "2026-07-23T09:10:00.113",
"sourceIdentifier": "security@wordfence.com"
}