CVE-2025-7400CVE-2025-7400 是 WordPress 平台上 Featured Image from URL(简称 FIFU)插件中存在的一个存储型跨站脚本(Stored XSS)漏洞。该插件允许用户通过 URL 设置文章的特色图片,广泛应用于各类 WordPress 网站中。漏洞存在于所有 5.2.7 及以下版本中,CVSS 评分为 6.4,属于中危级别。
该漏洞的根本原因在于插件对文章特色图片自定义字段(Featured Image custom fields)的输入缺乏充分的过滤与消毒(sanitization),同时在输出时也未进行适当的转义(escaping)处理。攻击者可以通过精心构造的恶意负载,将任意 JavaScript 代码注入到文章的自定义字段中。当其他用户(包括管理员)访问包含该恶意负载的页面时,注入的脚本将在受害者浏览器上下文中自动执行。
值得注意的是,Wordfence 曾在 5.2.2 版本中对该漏洞进行了部分修复,但并未完全解决问题,因此 5.2.2 至 5.2.7 版本仍然存在可被利用的风险。该漏洞需要认证用户(Contributor 级别及以上权限)才能触发,但一旦被低权限用户利用,可能导致管理员会话被劫持、网站内容被篡改、恶意重定向甚至后门植入等严重后果。
该存储型 XSS 漏洞的技术原理如下:
1. **注入点**:FIFU 插件通过 WordPress 的自定义字段(post meta)机制存储特色图片的 URL 信息。攻击者在创建或编辑文章时,可以在这些自定义字段中输入恶意 JavaScript 代码,例如 `<script>alert(document.cookie)</script>` 或 `<img src=x onerror=...>` 等。
2. **缺失的过滤机制**:插件在保存用户输入的自定义字段值时,未调用 WordPress 标准的消毒函数(如 `sanitize_text_field()`、`wp_kses_post()` 等),导致恶意脚本被原样存入数据库。
3. **缺失的输出转义**:在前端页面渲染时,插件直接将自定义字段的值输出到 HTML 页面中,未使用 `esc_html()`、`esc_attr()`、`esc_url()` 等转义函数进行编码,使得浏览器将恶意代码解析为可执行的脚本。
4. **利用条件**:攻击者需要拥有 Contributor 级别及以上的 WordPress 账户权限(可以通过注册获得),然后创建包含恶意负载的文章。
5. **触发过程**:当其他用户(尤其是管理员)访问该文章页面时,恶意脚本将在其浏览器中执行,可窃取 Cookie、会话令牌,或以管理员身份执行任意操作(如创建新管理员账户、修改网站配置、上传 WebShell 等)。
6. **CVSS 向量分析**:AV:N(网络攻击)、AC:L(低复杂度)、PR:L(低权限要求)、UI:N(无需用户交互)、S:C(范围变更)、C:L/I:L/A:N(机密性和完整性影响低,无可用性影响),综合评分 6.4。