CVE-2025-60450CVE-2025-60450是MetInfo CMS 8.0版本中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞于2025年10月3日由MITRE组织披露,CVSS 3.1评分为6.1分,属于中危级别漏洞。MetInfo CMS是一款广泛使用的内容管理系统,主要用于企业建站和门户网站管理。该漏洞的核心问题在于系统的文件上传组件(位于app\system\include\module\editor\Uploader.class.php路径下)对用户上传的SVG文件缺乏充分的验证和过滤机制。SVG(可缩放矢量图形)作为一种基于XML的图像格式,本质上是文本文件,可以包含JavaScript脚本代码。攻击者可以精心构造包含恶意JavaScript代码的SVG文件,并将其上传到目标服务器。由于该漏洞属于存储型XSS,恶意代码会被持久化存储在服务器端,当其他用户访问包含该恶意SVG文件的页面时,浏览器会自动执行其中的JavaScript代码,从而实现窃取用户会话、劫持用户账户、篡改页面内容或进行钓鱼攻击等恶意行为。该漏洞的攻击向量为网络(AV:N),无需任何认证权限(PR:N),但需要用户交互(UI:R)才能触发,对机密性和完整性产生低影响,不影响可用性。
该存储型XSS漏洞的技术原理在于MetInfo CMS的文件上传组件对SVG文件的处理不当。SVG文件本质上是XML格式的文档,其规范允许在文件中嵌入<script>标签和事件处理属性(如onload、onclick等),浏览器在解析渲染SVG文件时会执行其中的JavaScript代码。MetInfo CMS的Uploader.class.php组件在处理用户上传的文件时,仅检查了文件的扩展名是否为允许的类型(如.jpg、.png、.gif等),但未对SVG文件的内容进行安全过滤或消毒处理(sanitization)。攻击者利用方式如下:首先,攻击者创建一个包含恶意JavaScript代码的SVG文件,例如在SVG的<svg>标签中嵌入<script>alert(document.cookie)</script>或使用onload事件属性。然后,通过MetInfo CMS的编辑器上传功能将该恶意SVG文件上传到服务器。由于服务器未对SVG内容进行过滤,恶意代码被完整存储。当受害者用户通过浏览器访问包含该SVG文件的页面时,浏览器解析SVG文件并执行其中的JavaScript代码,攻击者的恶意脚本在受害者的浏览器上下文中运行。由于该XSS是存储型的,恶意代码存储在服务器端,影响所有访问该页面的用户。漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N,表明攻击通过网络进行,攻击复杂度低,无需权限,但需要用户交互(如点击链接或访问页面),影响范围可改变,机密性和完整性影响为低。