CVE-2025-11161CVE-2025-11161是WordPress流行页面构建插件WPBakery Page Builder中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞影响所有8.6.1及以下版本,由Wordfence安全团队发现并报告。漏洞位于插件的vc_custom_heading短代码中,具体问题出在font_container参数对用户提交的属性值缺乏充分的输入过滤和HTML标签限制机制。由于该插件广泛用于WordPress网站的页面构建,拥有庞大的用户基础,因此该漏洞的影响范围较大。CVSS评分为6.4分,属于中危级别。攻击者需要具备Contributor(投稿者)级别或更高的WordPress账户权限才能利用此漏洞。成功利用后,攻击者可以在受影响的网站中注入恶意JavaScript代码,当其他用户访问包含恶意短代码的页面时,恶意脚本将在受害者浏览器中执行,可能导致会话劫持、权限提升、数据窃取或网站内容篡改等多种安全风险。该漏洞利用了WPBakery短代码机制中的安全缺陷,属于典型的WordPress插件权限提升与XSS组合攻击场景。
该漏洞的技术原理在于WPBakery Page Builder插件对vc_custom_heading短代码的font_container参数处理不当。具体而言,当用户在页面或文章中插入vc_custom_heading短代码时,插件允许通过tag和text等属性自定义HTML标签和显示文本。然而,插件在处理这些属性时未对用户输入进行充分的HTML标签白名单过滤和属性值转义,导致攻击者可以注入恶意的HTML标签(如<script>)或带有事件处理器的标签(如<img src=x onerror=alert(1)>)。
利用方式如下:
1. 攻击者使用Contributor或更高权限账户登录WordPress后台;
2. 创建新文章或页面,在内容中插入vc_custom_heading短代码;
3. 在短代码的font_container参数中构造恶意payload,注入恶意JavaScript代码;
4. 发布文章后,每当其他用户(包括管理员)访问该页面,恶意脚本将在其浏览器上下文中执行;
5. 由于是存储型XSS,恶意代码持久化存储在网站数据库中,影响所有访问该页面的用户。
漏洞的根本原因是插件在处理短代码属性时,仅对部分危险字符进行了过滤,但未采用严格的HTML标签白名单机制,也未对所有上下文进行适当的输出编码。攻击者可通过精心构造的payload绕过现有的过滤逻辑,实现任意脚本执行。