CVE-2021-47955CouchCMS 2.2.1版本存在存储型跨站脚本漏洞。由于系统未正确过滤上传的SVG文件内容,经过身份验证的攻击者可以利用文件上传功能上传包含恶意JavaScript代码的SVG文件。当管理员或其他用户访问或预览该文件时,恶意脚本将在其浏览器中执行,从而窃取敏感信息或执行其他恶意操作。
该漏洞属于存储型跨站脚本(Stored XSS)。CouchCMS在处理文件上传时,特别是针对SVG(可缩放矢量图形)文件,缺乏对文件内容的严格校验。SVG文件基于XML格式,可以嵌入<script>标签或JavaScript事件处理器(如onload)。攻击者通过向browse.php端点发送特制的HTTP请求,上传内嵌恶意脚本的SVG文件。服务器接收并存储该文件。由于服务器没有设置Content-Disposition: attachment头或对SVG文件的MIME类型进行安全处理,当受害者在浏览器中直接访问该SVG文件的URL时,浏览器会将其作为图片渲染并解析其中的JavaScript代码,导致XSS攻击。