CVE-2025-9897CVE-2025-9897是WordPress AP Background插件中存在的一个跨站请求伪造(CSRF)漏洞。该漏洞由Wordfence安全团队的安全研究员发现,并于2025年10月3日公开披露。AP Background插件是一款用于在WordPress网站上创建和管理背景滑块的工具,广泛应用于需要视觉展示效果的网站中。
该漏洞影响该插件的所有版本,最高至3.8.2版本(含)。漏洞的根本原因在于插件中的advParallaxBackAdminSaveSlider函数缺少正确的一次性令牌(nonce)验证机制。Nonce是WordPress中用于防止CSRF攻击的重要安全机制,通过验证请求来源的合法性来防止恶意请求。在缺少nonce验证的情况下,攻击者可以构造恶意的HTTP请求,诱骗已登录的管理员执行非预期的操作。
根据CVSS 3.1评分标准,该漏洞评分为4.3分,属于中等严重级别。攻击向量为网络攻击(AV:N),攻击复杂度低(AC:L),无需权限(PR:N),但需要用户交互(UI:R)。漏洞对机密性无影响(C:N),对完整性有低影响(I:L),对可用性无影响(A:N)。这意味着该漏洞主要风险在于数据的非授权修改,而非数据泄露或服务中断。
此漏洞的利用需要攻击者能够诱骗站点管理员点击恶意链接或访问恶意页面。虽然需要用户交互,但攻击者可以通过社会工程学手段,如发送钓鱼邮件或在论坛中发布恶意链接等方式实现攻击。
该漏洞的技术原理涉及WordPress的CSRF防护机制缺失。WordPress通过nonce(number used once)机制来防御CSRF攻击,nonce是一个基于会话ID和操作名称生成的唯一令牌,服务器端会验证请求中携带的nonce是否与会话中存储的一致。
在AP Background插件的advParallaxBackAdminSaveSlider函数中,开发者未正确实现nonce验证。具体问题出现在includes/functions.admin.php文件的第135行附近。当管理员提交表单以创建或修改背景滑块时,插件没有检查请求中的nonce字段是否有效,或者完全省略了nonce验证步骤。
攻击利用方式如下:
1. 攻击者首先构造一个包含恶意请求的HTML页面,该页面会自动提交一个表单到目标WordPress站点的管理接口;
2. 表单的目标URL指向调用advParallaxBackAdminSaveSlider函数的端点;
3. 表单中包含创建或修改背景滑块所需的参数;
4. 攻击者通过社会工程学手段(如钓鱼邮件、即时消息等)诱骗已登录的管理员访问该恶意页面;
5. 当管理员访问恶意页面时,浏览器会自动携带其会话Cookie提交表单;
6. 由于缺少nonce验证,目标服务器会接受并处理该请求,从而创建或修改背景滑块。
成功利用此漏洞后,攻击者可以在目标站点上创建任意背景滑块或修改现有滑块的内容。虽然这看起来影响有限,但攻击者可能利用此漏洞植入恶意内容(如包含恶意JavaScript的滑块),进而实施进一步的攻击,如存储型XSS、会话劫持或网站篡改等。