Ad · Leaderboard 728×90

CVE-2026-108587

9.8Critical

Published 15 Oct 2026 · NVD status: Deferred · AI triage by gemini-3.8-flash

9.8Critical
Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None
Impact
Full C/I/A compromise
Weakness
CWE-434

Impact

Unauthenticated attackers can achieve remote code execution by uploading executable files to your web server. Attackers only need network access to read a leaked nonce file in the uploads directory and submit a forged request.

Root cause

The plugin exposes an arbitrary file upload flaw due to missing file type validation on the page_id parameter, paired with a cron-generated REST nonce saved directly into a world-readable uploads path.

Affected systems

10Web Booster – Website speed optimization, Cache & Page Speed optimizer plugin for WordPress up to, and including, 2.34.10

CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Fix & remediation

Upgrade to a version newer than 2.34.10 once available; if a patch cannot be deployed immediately, deactivate the plugin or block public HTTP access to serialized data files under wp-content/uploads/.

shell
$ wp plugin update tenweb-speed-optimizer

AI-suggested. Run it in staging first and check it against the vendor advisory. Why?

Ad · In-content banner

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.

References

Source: nvd.nist.gov/vuln/detail/CVE-2026-108587

Ad · Sticky 320×50 / 728×90