CVE-2026-2712
WordPress vulnerability analysis and mitigation

Overview

CVE-2026-2712 is a missing capability check vulnerability (Incorrect Authorization) in the WP-Optimize plugin for WordPress, affecting all versions up to and including 4.5.0. The flaw resides in the receive_heartbeat() function within includes/class-wp-optimize-heartbeat.php, allowing authenticated attackers with Subscriber-level access or above to invoke admin-only Smush image optimization operations without proper authorization. It was published on April 10, 2026, with a CVSS v3.1 base score of 5.4 (Medium) (GitHub Advisory, Wordfence).

Technical details

The root cause is CWE-863 (Incorrect Authorization): the WordPress Heartbeat API handler receive_heartbeat() directly invokes Updraft_Smush_Manager_Commands methods without performing the capability checks, nonce token validation, or allowed-commands whitelist enforcement that the standard AJAX handler (updraft_smush_ajax) applies (GitHub Advisory). An attacker exploits this by sending crafted Heartbeat API requests (authenticated via any low-privileged WordPress account) that trigger privileged Smush operations such as get_smush_logs, clean_all_backup_images, process_bulk_smush, and update_smush_options (Wordfence). The vulnerable code path is documented at line 65 and line 82 of class-wp-optimize-heartbeat.php in plugin tag 4.4.1 (GitHub Advisory).

Impact

Successful exploitation allows low-privileged authenticated users (Subscriber-level and above) to perform sensitive administrative operations on the WordPress site's image optimization subsystem. Specific impacts include unauthorized reading of Smush log files (potential information disclosure of server-side operational data), permanent deletion of all backup images (clean_all_backup_images), triggering resource-intensive bulk image processing that could degrade site performance, and modification of Smush configuration options that could disrupt image optimization workflows (GitHub Advisory, Wordfence). While the vulnerability does not directly enable remote code execution or full site takeover, the combination of data loss (deleted backups), configuration tampering, and log access represents meaningful integrity and availability risk.

Exploitability

No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation at this time (GitHub Advisory). Exploitation requires a valid WordPress account with at least Subscriber-level privileges, limiting the attack surface compared to unauthenticated vulnerabilities. The EPSS score is approximately 0.038% (0.000380), indicating a low near-term probability of exploitation (Feedly). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, and no threat actor attribution has been reported.

Exploitation steps

  1. Reconnaissance: Identify WordPress sites running WP-Optimize plugin version 4.5.0 or earlier. This can be done by checking the plugin's readme.txt or stable tag via https://target.com/wp-content/plugins/wp-optimize/readme.txt.
  2. Obtain low-privileged credentials: Register or obtain a Subscriber-level (or higher) WordPress account on the target site. Many WordPress sites allow open user registration.
  3. Authenticate: Log in to the WordPress site to obtain a valid session cookie and nonce for the Heartbeat API.
  4. Craft malicious Heartbeat request: Send an authenticated POST request to wp-admin/admin-ajax.php with action=heartbeat and include a payload in the data parameter that invokes a privileged Smush command (e.g., clean_all_backup_images, get_smush_logs, update_smush_options) via the receive_heartbeat() handler, bypassing the normal capability and nonce checks.
  5. Achieve objective: Depending on the chosen command — read sensitive log data via get_smush_logs, permanently delete backup images via clean_all_backup_images, alter plugin configuration via update_smush_options, or trigger resource exhaustion via process_bulk_smush (GitHub Advisory, Wordfence).

Indicators of compromise

  • Network: Unusual authenticated POST requests to wp-admin/admin-ajax.php with action=heartbeat containing Smush-related command parameters (get_smush_logs, clean_all_backup_images, process_bulk_smush, update_smush_options) from low-privileged user sessions.
  • Logs: WordPress access logs showing repeated Heartbeat API calls from Subscriber-level accounts at unusual frequencies or times; server-side logs reflecting invocation of Smush manager commands outside of normal admin sessions.
  • File System: Unexpected deletion of backup image files managed by WP-Optimize/Smush; changes to Smush configuration files or database options (wp_options table entries related to Smush settings) not initiated by an administrator.
  • Process: Sudden spikes in image processing activity (bulk Smush jobs) not triggered by an admin, potentially causing elevated CPU/memory usage on the web server.

Mitigation and workarounds

Update the WP-Optimize plugin to a version newer than 4.5.0, which addresses the missing capability checks in the Heartbeat handler (GitHub Advisory, Wordfence). As interim mitigations, restrict open user registration on WordPress sites to reduce the pool of potential attackers, and consider implementing Web Application Firewall (WAF) rules to block unexpected Heartbeat API requests containing Smush command parameters. Review and audit user roles, removing unnecessary Subscriber-level accounts, and monitor logs for unauthorized invocation of the affected Smush operations.

Community reactions

The vulnerability was reported by Wordfence and covered in Sucuri's April 2026 vulnerability patch roundup (Sucuri Blog). Community reaction has been limited given the medium severity rating and lack of public exploit code; no significant researcher commentary or social media discussion beyond standard vulnerability aggregator postings has been observed.

Additional resources


SourceThis report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-19859MEDIUM6.5
  • jetformbuilder
NoYesSep 06, 2026
CVE-2026-85038MEDIUM5.3
  • b2bking-wholesale-for-woocommerce
NoYesSep 06, 2026
CVE-2026-80439MEDIUM4.8
  • wpcf7-redirect
NoYesSep 06, 2026
CVE-2026-80437MEDIUM4.8
  • ninja-forms
NoYesSep 06, 2026
CVE-2026-19862MEDIUM4.8
  • jetformbuilder
NoYesSep 06, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management