CVE-2026-6395
The Word 2 Cash plugin for WordPress is vulnerable to Cross-Site Request Forgery leading to Stored Cross-Site Scripting in versions up to and including 0.9.2. This is due to the complete absence of nonce verification on the settings save handler in the w2c_admin() function, combined with missing input sanitization before storage and missing output escaping when rendering the stored value. The w2c-definitions POST parameter is saved raw via update_option() and later echoed without escaping inside a <textarea> element. This makes it possible for unauthenticated attackers to forge a request on behalf of a logged-in administrator, storing arbitrary JavaScript payloads that execute in the WordPress admin panel whenever the settings page is visited.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Puntuación base: 6.1
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.18%
- Percentil entre todas las CVEs puntuadas: 7
- Fecha de la puntuación: 6/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).
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-352
Referencias
- https://plugins.trac.wordpress.org/browser/word-2-cash/tags/0.9.2/word2cash.php#L18
- https://plugins.trac.wordpress.org/browser/word-2-cash/tags/0.9.2/word2cash.php#L20
- https://plugins.trac.wordpress.org/browser/word-2-cash/tags/0.9.2/word2cash.php#L31
- https://plugins.trac.wordpress.org/browser/word-2-cash/trunk/word2cash.php#L18
- https://plugins.trac.wordpress.org/browser/word-2-cash/trunk/word2cash.php#L20
- https://plugins.trac.wordpress.org/browser/word-2-cash/trunk/word2cash.php#L31
- https://www.wordfence.com/threat-intel/vulnerabilities/id/e4c7ca5c-38aa-4413-83eb-29185cca2a74?source=cve
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-6395",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-6395",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-05-20T12:06:08.739501Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security@wordfence.com",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 6.1,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 2.7,
"exploitabilityScore": 2.8
}
]
},
"affected": [
{
"source": "security@wordfence.com",
"affectedData": [
{
"vendor": "winking",
"product": "Word 2 Cash",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver",
"lessThanOrEqual": "0.9.2"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-05-20T02:16:37.627",
"references": [
{
"url": "https://plugins.trac.wordpress.org/browser/word-2-cash/tags/0.9.2/word2cash.php#L18",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/word-2-cash/tags/0.9.2/word2cash.php#L20",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/word-2-cash/tags/0.9.2/word2cash.php#L31",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/word-2-cash/trunk/word2cash.php#L18",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/word-2-cash/trunk/word2cash.php#L20",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/word-2-cash/trunk/word2cash.php#L31",
"source": "security@wordfence.com"
},
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/e4c7ca5c-38aa-4413-83eb-29185cca2a74?source=cve",
"source": "security@wordfence.com"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "security@wordfence.com",
"description": [
{
"lang": "en",
"value": "CWE-352"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "The Word 2 Cash plugin for WordPress is vulnerable to Cross-Site Request Forgery leading to Stored Cross-Site Scripting in versions up to and including 0.9.2. This is due to the complete absence of nonce verification on the settings save handler in the w2c_admin() function, combined with missing input sanitization before storage and missing output escaping when rendering the stored value. The w2c-definitions POST parameter is saved raw via update_option() and later echoed without escaping inside a <textarea> element. This makes it possible for unauthenticated attackers to forge a request on behalf of a logged-in administrator, storing arbitrary JavaScript payloads that execute in the WordPress admin panel whenever the settings page is visited."
},
{
"lang": "es",
"value": "El plugin Word 2 Cash para WordPress es vulnerable a falsificación de petición en sitios cruzados, lo que lleva a cross-site scripting almacenado en versiones hasta la 0.9.2 inclusive. Esto se debe a la ausencia completa de verificación de nonce en el gestor de guardado de configuraciones en la función w2c_admin(), combinado con la falta de saneamiento de entrada antes del almacenamiento y la falta de escape de salida al renderizar el valor almacenado. El parámetro POST w2c-definitions se guarda sin procesar a través de update_option() y luego se hace eco sin escape dentro de un elemento <textarea>. Esto hace posible que atacantes no autenticados forjen una petición en nombre de un administrador con sesión iniciada, almacenando cargas útiles de JavaScript arbitrarias que se ejecutan en el panel de administración de WordPress cada vez que se visita la página de configuraciones."
}
],
"lastModified": "2026-07-24T08:10:00.150",
"sourceIdentifier": "security@wordfence.com"
}