CVE-2025-10684CVE-2025-10684是WordPress Construction Light主题中的一个高危安全漏洞,存在于1.6.8之前的版本。该漏洞的核心问题是主题在处理AJAX操作时缺少适当的授权验证和CSRF(跨站请求伪造)保护机制。具体而言,主题的AJAX动作处理函数没有验证当前用户是否具有激活插件的权限,允许任何已认证用户(如订阅者级别的用户)通过AJAX请求激活任意插件。这使得攻击者可以诱骗低权限用户执行恶意操作,激活可能包含恶意代码的插件,从而在目标WordPress网站上获得更高级别的访问权限或执行恶意代码。由于该漏洞不需要用户交互(UI:N),攻击者可以通过社交工程手段诱导已登录用户访问特制页面或点击链接来触发攻击。CVSS评分4.3属于中等严重程度,主要影响系统的完整性保护机制。
该漏洞的技术根源在于Construction Light主题的AJAX处理函数中缺少两个关键的安全检查:
1. **授权检查缺失**:主题的AJAX动作(如激活插件相关的操作)没有调用current_user_can()或类似函数来验证当前用户是否具有管理插件的权限。WordPress的activate_plugin()函数本身会进行权限检查,但主题的AJAX处理器直接调用该函数而没有先验证调用者的身份。在WordPress中,只有管理员(admin)或具有相应能力的用户才能激活插件,但主题的AJAX端点没有实施这一检查。
2. **CSRF保护缺失**:AJAX处理函数没有实现nonce验证或token检查来防止跨站请求伪造攻击。攻击者可以构造恶意请求,诱骗已登录用户在其不知情的情况下向目标网站发送激活插件的请求。
利用该漏洞的攻击流程:攻击者创建一个包含恶意JavaScript的网页,当已登录的订阅者访问该页面时,JavaScript代码会自动向目标网站的admin-ajax.php端点发送AJAX请求,请求参数中指定要激活的插件路径。由于浏览器会自动携带目标网站的cookies,WordPress会认为这是一个有效的已认证会话。由于主题没有验证权限,请求会被执行,插件被激活。如果被激活的插件包含恶意代码,攻击者即可实现代码执行或进一步的攻击目标。修复该漏洞需要在AJAX处理函数中添加current_user_can('activate_plugins')检查和wp_verify_nonce() CSRF验证。