CVE-2026-2712WordPress WP-Optimize插件在4.5.0及以下版本中存在一个严重的安全漏洞。该漏洞源于插件中的`receive_heartbeat()`函数未能正确实施能力检查。正常情况下,AJAX处理器会验证用户权限、Nonce令牌及命令白名单,但Heartbeat处理器直接调用了`Updraft_Smush_Manager_Commands`类的方法,绕过了这些安全验证。这使得拥有订阅者及以上权限的认证攻击者能够执行仅限管理员进行的Smush操作。受影响的功能包括读取日志文件、删除所有备份图片、触发批量图片处理以及修改Smush选项。该漏洞可能导致数据完整性受损和敏感信息泄露。
该漏洞的原理在于WP-Optimize插件对WordPress Heartbeat API的集成存在逻辑缺陷。在`includes/class-wp-optimize-heartbeat.php`文件中,`receive_heartbeat()`函数负责处理来自前端的Heartbeat数据。不同于标准的AJAX处理机制,该函数在接收到指令时,直接实例化`Updraft_Smush_Manager_Commands`对象并动态调用其方法,而没有对当前用户是否具备相应管理权限进行校验,也未检查请求的Nonce令牌或命令是否在白名单内。
利用该漏洞的具体步骤如下:攻击者首先需要注册一个低权限账户(如订阅者)。登录后,攻击者向WordPress的`/wp-admin/admin-ajax.php`端点发送POST请求,Action设置为`heartbeat`。在请求体中,攻击者构造特定的`data`字段,将命令指定为敏感操作,例如`clean_all_backup_images`(删除所有备份图片)或`get_smush_logs`(读取日志)。由于服务器端缺乏校验,系统将以管理员上下文执行这些命令,从而实现权限提升。