IPBUF安全漏洞报告
English
CVE-2026-5468 CVSS 3.5 低危

CVE-2026-5468 Casdoor存储型XSS漏洞

披露日期: 2026-04-03

漏洞信息

漏洞编号
CVE-2026-5468
漏洞类型
跨站脚本攻击 (XSS)
CVSS评分
3.5 低危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Casdoor

相关标签

XSSCasdoor跨站脚本Web安全前端安全CVE-2026-5468

漏洞概述

Casdoor 2.356.0版本近日披露存在一处安全漏洞,核心问题出在前端dangerouslySetInnerHTML函数的不安全使用。攻击者通过精心构造formCss、formCssMobile或formSideHtml参数,能够注入恶意代码。尽管该漏洞需要低权限及用户交互才能触发,且官方CVSS评分为低危,但它仍可能导致反射型或存储型跨站脚本攻击,从而窃取用户凭证或进行会话劫持,对系统完整性构成威胁。

技术细节

该漏洞的根本原因在于Casdoor在渲染Web界面时,对特定表单配置参数的处理不当。具体而言,应用程序直接将用户可控的formCss、formCssMobile或formSideHtml参数的值传递给了前端React组件的dangerouslySetInnerHTML属性。在React开发规范中,使用该属性意味着开发者明确信任插入的HTML内容,这会自动绕过React框架内置的XSS防护机制(即HTML实体转义)。攻击者利用这一缺陷,可以在上述参数中注入恶意的HTML标签及JavaScript脚本。由于漏洞参数涉及表单样式的配置,通常需要管理员权限或特定交互才能修改,但一旦注入成功,任何访问该配置页面的用户都会触发XSS攻击,导致会话令牌泄露或账户被劫持。

攻击链分析

STEP 1
步骤1:侦察
识别目标系统使用的是Casdoor 2.356.0版本,并确认相关API接口可访问。
STEP 2
步骤2:构造载荷
攻击者编写包含恶意JavaScript代码的HTML字符串,例如利用onerror事件触发弹窗或窃取Cookie。
STEP 3
步骤3:发送请求
攻击者(需具备低权限账号)向服务器发送修改应用配置的请求,将恶意代码注入到formCss等参数中。
STEP 4
步骤4:触发漏洞
当管理员或其他用户访问包含该配置的页面时,后端数据被传回前端,React组件使用dangerouslySetInnerHTML渲染。
STEP 5
步骤5:执行攻击
浏览器解析并执行注入的恶意脚本,导致XSS攻击成功,可能窃取敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-5468 // Target: Casdoor 2.356.0 // Vulnerable Parameter: formCss, formCssMobile, formSideHtml const maliciousPayload = '<img src=x onerror=alert(document.cookie)>'; // Example HTTP POST request to inject payload via formCss fetch('/api/update-application', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer <YOUR_TOKEN>' }, body: JSON.stringify({ owner: "admin", name: "app-example", // Injecting payload into the vulnerable field formCss: maliciousPayload }) }); // When the page is rendered, React's dangerouslySetInnerHTML will execute the alert.

影响范围

Casdoor 2.356.0

防御指南

临时缓解措施
建议立即限制对Casdoor应用配置页面的修改权限,仅允许可信管理员访问。同时,部署Web应用防火墙(WAF)规则,检测并拦截包含常见XSS特征(如<script>, onerror=等)的请求流量,直至完成版本升级。

参考链接

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