IPBUF安全漏洞报告
English
CVE-2026-39391 CVSS 4.8 中危

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

披露日期: 2026-04-08

漏洞信息

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

相关标签

XSS存储型跨站脚本CI4MSCWE-79Web安全

漏洞概述

CI4MS在0.31.4.0版本前存在存储型XSS漏洞。攻击者可利用黑名单备注功能注入恶意脚本,该脚本未经过滤直接存储。当其他管理员查看用户管理页面时,恶意代码将在其浏览器中执行,造成敏感信息泄露或会话劫持。

技术细节

漏洞源于`UserController::ajax_blackList_post()`方法对用户输入处理不当。该接口接收的黑名单备注参数未经过有效的输入净化,便直接存入数据库。当管理员访问用户管理列表时,系统从数据库读取该备注,并将其渲染到HTML元素的`data-note`属性中。由于缺乏输出编码,浏览器将攻击者注入的 payload 作为 HTML 代码解析。攻击者利用高权限账户提交包含 JavaScript 的备注,即可针对查看该页面的其他管理员实施攻击,窃取 Cookie 或篡改页面内容。此外,由于存储在数据库中,该恶意脚本具有持久性,只要相关数据未被清理,所有访问该页面的管理员均受威胁。

攻击链分析

STEP 1
1. 获取权限
攻击者登录具有黑名单权限的管理员账户。
STEP 2
2. 注入Payload
攻击者在用户管理页面选择封禁用户,并在备注字段中插入恶意JavaScript代码。
STEP 3
3. 存储数据
服务器将包含恶意代码的备注直接存储到数据库中,未进行过滤。
STEP 4
4. 触发漏洞
其他管理员访问用户管理页面,系统读取数据库中的恶意备注并渲染到HTML属性中。
STEP 5
5. 执行攻击
受害者的浏览器解析并执行恶意脚本,导致Cookie泄露或会话被劫持。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # PoC for CVE-2026-39391: Stored XSS in CI4MS # Target: CI4MS < 0.31.4.0 url = "http://target.com/admin/user/ajax_blackList_post" cookies = {"ci_session": "admin_session_id"} # Malicious payload to be injected into the 'note' parameter payload = '"><script>alert(document.cookie)</script>' data = { "user_id": "1", "note": payload } response = requests.post(url, data=data, cookies=cookies) if response.status_code == 200: print("Payload successfully injected.") else: print("Injection failed.")

影响范围

CI4MS < 0.31.4.0

防御指南

临时缓解措施
建议立即升级至0.31.4.0版本。若无法立即升级,应严格限制拥有黑名单权限的管理员数量,并在WAF层增加针对XSS攻击的特征过滤规则,拦截包含script标签或事件处理器的请求。

参考链接

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