CVE-2026-33741EspoCRM 9.3.3及以下版本存在存储型XSS漏洞。由于系统允许认证用户通过附件字段上传SVG文件,并将其作为顶级内联文档提供,虽然响应的CSP策略阻止了内联SVG脚本,但仍允许加载同源的外部脚本。攻击者可利用这一点,上传恶意SVG和JavaScript文件,诱导受害者打开SVG,从而在受害者的EspoCRM源上下文中执行恶意JavaScript代码。该问题已在9.3.4版本中修复。
该漏洞源于EspoCRM对SVG附件的处理逻辑及其内容安全策略(CSP)的配置缺陷。在受影响版本中,认证用户可以上传SVG文件,应用随后通过附件和图像入口点将这些文件作为内联文档提供。虽然CSP策略有效地阻止了直接在SVG内部编写内联脚本(如`<script>alert(1)</script>`),但它没有禁止加载同源下的外部脚本资源。攻击者首先上传一个包含恶意代码的JavaScript文件,然后上传一个SVG文件,该SVG文件通过`<script src="...">`标签引用之前上传的JS文件。当受害者被诱导访问该SVG文件时,浏览器解析SVG,发现script标签,由于同源策略和CSP允许,浏览器会获取并执行攻击者的JS文件,导致存储型XSS攻击。