CVE-2026-108587
El complemento 10Web Booster – Website speed optimization, Cache & Page Speed optimizer plugin for WordPress es vulnerable a la carga arbitraria de archivos en todas las versiones hasta la 2.34.10 inclusive, a través de la función compressCustom. Esto se debe a la falta de validación del tipo de archivo y de filtrado de extensiones en el parámetro page_id, combinado con un nonce filtrado y de lectura pública que evita las comprobaciones de autenticación. Esto permite que atacantes no autenticados suban archivos que podrían ser ejecutables, lo que hace posible la ejecución remota de código.
La cadena de explotación requiere obtener el nonce REST del complemento (tenwebio_rest), que se serializa automáticamente en un archivo de lectura pública bajo wp-content/uploads/ cada vez que se interrumpe un lote de optimización masiva; como el nonce se genera en un contexto de cron/loopback con un ID de usuario 0, es válido para visitantes no autenticados.
Traducción automática del texto original de NVD (en inglés).
CVSS
- Puntuación base
- 9.8
- Versión
- 3.1
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días
- 0.92 %
- Percentil entre todas las CVEs puntuadas
- 60
- Fecha de la puntuación
- 20/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 access95 % - Impacto principal
T1505.003Web Shellpersistence70 % - Impacto secundario
T1059Command and Scripting Interpreterexecution55 % - Impacto secundario
T1552.001Credentials In Filescredential access50 %
Vector AV:N/PR:N/UI:N y subida arbitraria sin autenticación vía compressCustom; el texto indica archivos ejecutables y RCE posible, y un nonce filtrado en fichero legible.
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-434
Referencias
Mostrar las 12 referencias
- https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.1/vendor/10web-utils/10web-queue/src/TenWebQueue/Traits/QueueRestart.php#L63
- https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.1/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/CompressService.php#L99
- https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.1/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Rest.php#L310
- https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.1/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Rest.php#L99
- https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.1/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Utils.php#L161
- https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.5/vendor/10web-utils/10web-queue/src/TenWebQueue/Traits/QueueRestart.php#L63
- https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.5/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/CompressService.php#L99
- https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.5/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Rest.php#L310
- https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.5/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Rest.php#L99
- https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.5/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Utils.php#L161
- https://plugins.trac.wordpress.org/changeset/3743299/tenweb-speed-optimizer
- https://www.wordfence.com/threat-intel/vulnerabilities/id/adfd97cf-8f61-463d-a535-1a61e3c2e134?source=cve
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-108587",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-108587",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2026-10-15T10:45:57.501865Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security@wordfence.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 9.8,
"attackVector": "NETWORK",
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "security@wordfence.com",
"affectedData": [
{
"vendor": "10web",
"product": "10Web Booster – Website speed optimization, Cache & Page Speed optimizer",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver",
"lessThanOrEqual": "2.34.10"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-10-15T05:17:02.637",
"references": [
{
"url": "https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.1/vendor/10web-utils/10web-queue/src/TenWebQueue/Traits/QueueRestart.php#L63",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.1/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/CompressService.php#L99",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.1/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Rest.php#L310",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.1/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Rest.php#L99",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.1/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Utils.php#L161",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.5/vendor/10web-utils/10web-queue/src/TenWebQueue/Traits/QueueRestart.php#L63",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.5/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/CompressService.php#L99",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.5/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Rest.php#L310",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.5/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Rest.php#L99",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/tenweb-speed-optimizer/tags/2.34.5/vendor/10web-utils/tenweb-image-optimizer/src/TenWebIO/Utils.php#L161",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/changeset/3743299/tenweb-speed-optimizer",
"source": "security@wordfence.com"
},
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/adfd97cf-8f61-463d-a535-1a61e3c2e134?source=cve",
"source": "security@wordfence.com"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "security@wordfence.com",
"description": [
{
"lang": "en",
"value": "CWE-434"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "The 10Web Booster – Website speed optimization, Cache & Page Speed optimizer plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 2.34.10 via the compressCustom function. This is due to missing file type validation and extension filtering on the page_id parameter, combined with a world-readable leaked nonce that bypasses authentication checks. This makes it possible for unauthenticated attackers to upload files that may be executable, which makes remote code execution possible. This exploit chain requires obtaining the plugin's REST nonce (tenwebio_rest), which is automatically serialized to a world-readable file under wp-content/uploads/ whenever a bulk optimisation batch pauses; because the nonce is generated in a cron/loopback context with a user ID of 0, it is valid for unauthenticated visitors."
}
],
"lastModified": "2026-10-15T17:17:14.450",
"sourceIdentifier": "security@wordfence.com"
}