CVE-2025-12878FunnelKit是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、伪造表单提交或进行钓鱼攻击。