CVE-2026-108587: 10Web Booster <= 2.34.10 - Unauthenticated Arbitrary File Upload via 'page_id' Parameter
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 pageid 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 (tenwebiorest), 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.
Affected Software
Event History
Frequently Asked Questions
What conditions must exist for an unauthenticated attacker to exploit this issue?
The attacker needs to obtain the plugin REST nonce named tenwebio_rest. That nonce is written to a world-readable file under wp-content/uploads/ whenever a bulk optimisation batch pauses, and it is valid for unauthenticated visitors because it is generated in a cron or loopback context with user ID 0.
Are sites affected without attacker authentication?
Yes. The leaked nonce bypasses the plugin's authentication checks, allowing unauthenticated attackers to reach the vulnerable upload functionality after obtaining it.
What is the likely impact if exploitation succeeds?
An attacker may upload files that can be executable because the page_id parameter lacks file-type validation and extension filtering. This can make remote code execution possible.
Which plugin versions are affected?
All 10Web Booster versions up to and including 2.34.10 are affected.