IPBUF安全漏洞报告
English
CVE-2026-39392 CVSS 5.5 中危

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

披露日期: 2026-04-08

漏洞信息

漏洞编号
CVE-2026-39392
漏洞类型
存储型跨站脚本攻击 (Stored XSS)
CVSS评分
5.5 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
CI4MS

相关标签

XSS存储型XSSCI4MSCodeIgniterWeb安全CWE-79

漏洞概述

CI4MS是一个基于CodeIgniter 4的CMS骨架。在0.31.4.0版本之前,Pages模块在创建和更新内容时未应用html_purify验证规则,导致未经净化的HTML被直接存储并在前端渲染。具有页面编辑权限的认证管理员可利用此漏洞注入恶意JavaScript,在所有访问该页面的公共访客浏览器中执行,造成存储型XSS攻击。

技术细节

该漏洞的根源在于CI4MS框架的Pages模块与Blog模块在安全处理上的不一致。Pages模块在处理内容字段时,缺少了Blog模块中所使用的`html_purify`验证规则。当管理员执行创建或更新页面操作时,应用未对用户输入进行严格的HTML净化处理,导致恶意JavaScript代码直接存入数据库。当普通用户访问受影响的页面时,服务器端脚本通过`echo $pageInfo->content`将未转义的HTML内容直接渲染在浏览器中。由于CVSS向量中Scope为Changed,攻击者不仅能影响管理员会话,还能影响所有访问该页面的访客,从而窃取会话令牌或进行钓鱼攻击。

攻击链分析

STEP 1
步骤1
攻击者使用具有页面编辑权限的高权限账号登录后台管理系统。
STEP 2
步骤2
攻击者导航至Pages模块,选择创建新页面或编辑现有页面。
STEP 3
步骤3
攻击者在页面内容字段中输入恶意的JavaScript代码,并保存更改。代码未经净化直接存入数据库。
STEP 4
步骤4
普通用户(受害者)在浏览器中访问被篡改的公共页面。
STEP 5
步骤5
服务器端渲染页面时直接输出恶意脚本,导致脚本在受害者浏览器上下文中执行,窃取敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC: Inject malicious script into Page Content field via Admin Panel --> <!-- Step 1: Login as Admin and navigate to Pages -> Create New Page --> <!-- Step 2: Insert the following payload into the 'Content' field --> <script>alert(document.cookie)</script> <!-- Step 3: Save the page. --> <!-- Step 4: Visit the public URL of the page as a normal visitor. --> <!-- Result: The alert box will pop up displaying the victim's cookies. -->

影响范围

CI4MS < 0.31.4.0

防御指南

临时缓解措施
建议立即升级CI4MS至0.31.4.0版本以修复此漏洞。如果暂时无法升级,应在渲染页面内容时手动添加HTML实体转义函数(如PHP的htmlspecialchars),并严格限制管理员账号的分配范围,仅授予可信用户页面编辑权限。

参考链接

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