{"id":"CVE-2026-108587","published":"2026-10-15T05:17:02.637","lastModified":"2026-10-15T17:17:14.450","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.","cvssScore":9.8,"cvssSeverity":"CRITICAL","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cwes":["CWE-434"],"vendors":[],"products":[],"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","tags":[]},{"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","tags":[]},{"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","tags":[]},{"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","tags":[]},{"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","tags":[]},{"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","tags":[]},{"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","tags":[]},{"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","tags":[]},{"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","tags":[]},{"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","tags":[]},{"url":"https://plugins.trac.wordpress.org/changeset/3743299/tenweb-speed-optimizer","tags":[]},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/adfd97cf-8f61-463d-a535-1a61e3c2e134?source=cve","tags":[]}],"exploitRefs":[],"hasPoc":false,"ai":{"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.","remediation":"Upgrade to version 2.34.11 or later to fix the Arbitrary File Upload vulnerability.","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.","tags":["rce","file-upload","wordpress","auth-bypass"],"model":"garnet-coder","analyzedAt":"2026-10-15T08:53:11.981Z"}}