CVE-2026-2712 json
WP-Optimize <= 4.5.0 - Missing Authorization to Authenticated (Subscriber+) Plugin Settings Update and Image Manipulation
published 2026-04-10 7 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-21254
- cvss
- 5.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 37%
- public exploits
- 0
- none known
Summary
The WP-Optimize plugin for WordPress is vulnerable to unauthorized access of functionality due to missing capability checks in the `receive_heartbeat()` function in `includes/class-wp-optimize-heartbeat.php` in all versions up to, and including, 4.5.0. This is due to the Heartbeat handler directly invoking `Updraft_Smush_Manager_Commands` methods without verifying user capabilities, nonce tokens, or the allowed commands whitelist that the normal AJAX handler (`updraft_smush_ajax`) enforces. This makes it possible for authenticated attackers, with Subscriber-level access and above, to invoke admin-only Smush operations including reading log files (`get_smush_logs`), deleting all backup images (`clean_all_backup_images`), triggering bulk image processing (`process_bulk_smush`), and modifying Smush options (`update_smush_options`).
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
0.43% chance of exploitation in the next 30 days, higher than 37% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L |
Affected products
- davidanderson WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance
Classification
- Weakness
-
- CWE-863 Incorrect Authorization
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/6a0a376e-ea3a-40ca-9341-f28f92e15e02?source=cve
- plugins.trac.wordpress.org /browser/wp-optimize/tags/4.4.1/includes/class-wp-optimize-heartbeat.php#L65
- plugins.trac.wordpress.org /browser/wp-optimize/trunk/includes/class-wp-optimize-heartbeat.php#L65
- plugins.trac.wordpress.org /browser/wp-optimize/tags/4.4.1/includes/class-wp-optimize-heartbeat.php#L82
- research.cleantalk.org /cve-2026-2712/
Sources
- CVE List CVE-2026-2712
- NVD CVE-2026-2712
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.