CVE-2025-9129CVE-2025-9129是WordPress Flexi插件中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞存在于Flexi插件的flexi-form-tag短代码(shortcode)处理逻辑中,影响所有4.28及以下版本。漏洞的根本原因是插件对用户提供的短代码属性(attributes)缺乏充分的输入清理(input sanitization)和输出转义(output escaping)机制,导致认证攻击者可以将恶意的JavaScript代码注入到页面中。该漏洞由WordFence安全团队的安全研究员发现并报告,CVSS 3.1评分为6.4分,属于中危级别漏洞。攻击者利用该漏洞需要具备Contributor(投稿者)级别及以上的WordPress账户权限,一旦成功利用,注入的恶意脚本将在其他用户访问受影响页面时自动执行,可能导致会话劫持、敏感信息窃取、权限提升或恶意重定向等严重后果。该漏洞的CVSS向量为AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N,表明漏洞可通过网络远程利用,攻击复杂度低,且由于涉及存储型XSS,影响范围会扩散到所有访问受影响页面的用户。
Flexi插件的flexi-form-tag短代码在处理用户输入的属性时,未对用户提供的属性值进行充分的HTML实体编码或转义处理。具体来说,在includes/class-flexi-form.php文件的第572行附近的短代码渲染逻辑中,插件直接将用户控制的属性值输出到生成的HTML页面中,而没有使用WordPress标准的安全函数(如esc_attr()、esc_html()、wp_kses()等)进行适当的转义和过滤。攻击者可以通过构造包含恶意JavaScript代码的短代码属性,例如使用onerror、onload等事件处理器或<script>标签的变体形式,将恶意载荷持久化存储到WordPress数据库中。当其他用户(包括管理员)访问包含该短代码的页面时,浏览器会自动解析并执行注入的恶意脚本。由于该漏洞需要Contributor级别权限才能利用,攻击者通常通过社会工程学手段获取低权限账户,或者利用其他漏洞获取初始访问权限。由于XSS载荷存储在数据库中(存储型),影响范围会随着页面浏览量扩大,危害等级较高。