CVE-2026-5488WordPress的ExactMetrics插件(Google Analytics仪表盘)在9.1.2及以下版本中存在权限缺失漏洞。该漏洞源于`get_ads_access_token()`和`reset_experience()`这两个AJAX处理函数仅验证了nonce,而未检查用户的具体权限(如`exactmetrics_save_settings`能力)。由于`mi-admin-nonce`在所有管理页面(包括订阅者可访问的profile.php)上都有本地化,这使得拥有订阅者及以上权限的攻击者可以利用这两个接口,获取有效的Google Ads访问令牌并重置Google Ads集成设置,从而造成敏感信息泄露。
该漏洞的技术核心在于WordPress插件开发中Nonce验证与权限验证的不当使用。在受影响的ExactMetrics插件版本中,`class-exactmetrics-google-ads.php`文件内的`get_ads_access_token()`和`reset_experience()`方法被注册为AJAX动作。正常情况下,涉及敏感操作(如获取令牌或修改设置)的AJAX请求应当同时验证请求来源的合法性(Nonce)和请求者的操作权限(Capability)。然而,这两个特定的处理函数仅调用了`check_ajax_referer()`来验证`mi-admin-nonce`。虽然Nonce可以防止CSRF攻击,但它并不验证用户是否有权执行该特定操作。由于该Nonce在前端通过`wp_localize_script()`被注入到了所有后台页面,包括低权限用户(如订阅者)可以访问的个人资料页面(`profile.php`),因此订阅者级别的用户可以直接构造包含该Nonce的请求发送给`/wp-admin/admin-ajax.php`。当请求触发上述两个AJAX动作时,服务器仅验证Nonce有效便返回了Google Ads的访问令牌或重置了设置,绕过了本应存在的`exactmetrics_save_settings`权限检查。与同文件中其他正确使用了`current_user_can('exactmetrics_save_settings')`的函数相比,这两个函数存在明显的逻辑缺陷。