CVE-2023-53884Webedition CMS v2.9.8.8版本存在一个严重的存储型跨站脚本(XSS)漏洞。该漏洞允许经过身份验证的低权限用户通过系统的媒体上传功能上传包含恶意JavaScript代码的SVG文件。由于SVG文件在存储后会被其他用户访问,当受害者查看这些恶意的SVG文件时,嵌入其中的JavaScript代码会在受害者浏览器上下文中执行,从而实现会话劫持、敏感信息窃取、钓鱼攻击等恶意操作。攻击者利用该漏洞可以获取受害者的认证Cookie、劫持用户会话、修改页面内容或重定向用户到恶意网站。由于该漏洞属于存储型XSS,恶意代码会持久存在于服务器上,影响所有访问该SVG文件的用户。CVSS 3.1评分5.4分,中危级别,攻击复杂度低,但需要用户交互和低权限认证即可实施攻击。
该漏洞的根本原因在于Webedition CMS的媒体上传功能对SVG文件类型缺乏有效的安全过滤和内容清理机制。SVG(可缩放矢量图形)是一种基于XML的矢量图形格式,支持内嵌JavaScript代码。攻击者利用这一特性,可以构造包含恶意JavaScript的SVG文件并通过系统的文件上传接口将其存储到服务器上。当其他用户通过浏览器访问这些SVG文件时,浏览器会解析SVG内容并执行其中的JavaScript代码。由于浏览器在执行SVG内嵌脚本时遵循同源策略的某些宽松规则,攻击者可以绕过部分安全限制实现跨站脚本攻击。攻击者首先需要获取Webedition CMS的低权限账户,然后访问媒体上传功能上传精心构造的SVG文件。上传的SVG文件会被存储在服务器的可访问目录下,文件名可能保持原始名称或被系统重命名。最终,当受害者访问该SVG文件的URL时,恶意JavaScript代码会在受害者浏览器中执行。防御措施包括对上传的SVG文件进行内容清理和脚本移除、实施严格的内容安全策略(CSP)、限制SVG文件的上传权限以及对SVG文件进行安全渲染隔离。