CVE-2026-108587
9.8 CRITICALPublished 2026-10-15 · Updated 2026-10-15
AI risk analysis
- Summary
- The 10Web Booster plugin allows unauthenticated attackers to upload arbitrary files due to missing validation on file types and extensions, combined with a leaked nonce that bypasses authentication checks. This creates a critical vulnerability that can lead to remote code execution.
- Exploitability
- Exploitation is relatively straightforward as attackers only need to find the leaked nonce in wp-content/uploads/ and upload malicious files through the compressCustom function, requiring no authentication or user interaction.
- Blast radius
- The vulnerability affects all WordPress sites using the 10Web Booster plugin version 2.34.10 or earlier, potentially allowing attackers to execute arbitrary code on affected servers with full system access.
- Detection
- Monitor for unusual file uploads in wp-content/uploads/ directory, particularly executable files (.php, .jsp, .asp) that appear without user interaction, and check for access logs showing requests to /wp-json/tenweb/v1/compressCustom endpoint with suspicious file parameters.
- Prioritized remediation
- Upgrade to version 2.34.11 or later to fix the Arbitrary File Upload vulnerability.
Analysis generated locally by garnet-coder (no data left the box). AI-assisted — verify against primary sources before acting.
NVD description
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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-434
All references
- 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
Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.
Related CVEs
- HIGHCVE-2025-15700
- CRITICALCVE-2026-103768
- CRITICALCVE-2026-104800
- CRITICALCVE-2026-109219
- CRITICALCVE-2026-110002
- HIGHCVE-2026-83526PoC
- CRITICALCVE-2026-87855
- CRITICALCVE-2026-94589
Related by shared AI tags and CWE weakness class. Browse the full archive.