CVE-2020-37238CMS Made Simple 2.2.15 版本存在存储型跨站脚本(XSS)漏洞。该漏洞源于系统对上传文件的过滤机制不完善,允许拥有内容管理器权限的认证用户通过文件管理器上传包含恶意JavaScript代码的SVG文件。一旦其他认证用户(如管理员)在后台访问或预览这些被上传的恶意文件,嵌入的脚本将在其浏览器上下文中执行。攻击者可利用此漏洞窃取敏感Cookie、劫持用户会话,甚至执行未授权的后台操作。
CMS Made Simple 的文件管理器在处理 SVG(可缩放矢量图形)文件上传时存在安全缺陷,未能对上传文件中的 XML 内容进行有效的安全过滤。SVG 文件基于 XML 格式,支持通过 `<script>` 标签嵌入 JavaScript 代码,或利用 `onload` 等事件属性触发脚本执行。在受影响的 2.2.15 版本中,具备“内容管理器”权限的认证用户可以绕过简单的文件类型检查,上传包含恶意 Payload 的 SVG 文件。该文件上传后,恶意代码被持久化存储在服务器上。由于系统在渲染 SVG 时未使用内容安全策略(CSP)进行严格隔离,当管理员或其他高权限用户通过文件管理器预览或访问该文件时,浏览器会解析 XML 并执行其中的恶意脚本。此时,攻击者可以利用 JavaScript 获取受害者的 `document.cookie`、本地存储数据或执行后台 API 请求,从而实现会话劫持和权限提升。该漏洞无需用户交互即可触发(UI:N),且影响范围可扩展至后台核心功能。