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

CVE-2026-34558: CI4MS 存储型DOM XSS漏洞

披露日期: 2026-03-30

漏洞信息

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

相关标签

XSSCI4MSCodeIgniter存储型XSSWeb安全CVE-2026-34558

漏洞概述

CI4MS是一个基于CodeIgniter 4的CMS系统。在0.31.0.0版本之前,该系统的Methods Management功能未能对用户输入进行有效的清理和过滤。攻击者能够利用此缺陷,在创建或管理方法/页面时注入恶意的JavaScript载荷。这些恶意代码被存储在服务器端,随后在渲染管理界面和全局导航组件时被执行,导致存储型DOM型跨站脚本攻击。

技术细节

该漏洞的根本原因在于CI4MS框架在处理Methods Management模块时,未对用户提供的输入实施严格的输入验证和输出编码。攻击者可以在创建或编辑应用方法/页面的过程中,向特定的输入字段(如方法名称或描述)提交包含恶意JavaScript的载荷。服务器端在接收这些请求时,未进行sanitize操作便将其持久化存储。随后,当管理员用户访问受影响的后台管理界面或加载全局导航组件时,应用程序会从数据库读取这些数据并直接渲染至DOM中。由于缺乏HTML实体编码,浏览器将攻击者的载荷解析为可执行脚本。由于CVSS向量显示S:C(Scope Changed),这表明攻击可突破浏览器的同源策略限制,对管理员端的会话造成严重影响。

攻击链分析

STEP 1
步骤1
攻击者以低权限用户身份登录CI4MS系统,并访问Methods Management(方法管理)功能模块。
STEP 2
步骤2
攻击者在创建或管理方法/页面的输入字段中,构造并发送包含恶意JavaScript代码的Payload(如事件处理程序)。
STEP 3
步骤3
服务器端接收请求,由于缺乏过滤机制,将恶意数据原样存储在数据库中。
STEP 4
步骤4
当管理员用户访问受影响的管理界面或全局导航组件时,系统从数据库读取数据并直接渲染到页面DOM中。
STEP 5
步骤5
浏览器解析攻击者注入的恶意脚本并执行,导致管理员Session被窃取或执行未授权操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC Concept for Stored DOM-based XSS in CI4MS --> <!-- Step 1: Attacker injects payload via Methods Management --> <script> // Simulating a POST request to the vulnerable endpoint // This requires a low-privileged user session fetch('/admin/methods/create', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'method_name=<img src=x onerror=alert(document.cookie)>&description=Payload' }).then(response => console.log('Payload injected')); </script> <!-- Step 2: When an admin visits the dashboard, the stored payload executes --> <!-- Result: Admin's cookie or session token is stolen -->

影响范围

CI4MS < 0.31.0.0

防御指南

临时缓解措施
在未升级版本前,应严格限制对Methods Management功能的访问权限,仅授予必要的管理员账号。建议部署Web应用防火墙(WAF)规则以拦截包含潜在脚本标签的HTTP请求。同时,管理员应警惕异常的管理界面行为,并在处理敏感操作前强制重新验证身份。

参考链接

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