CVE-2025-13692Unlimited Elements For Elementor是WordPress平台上广受欢迎的元素构建器插件,为用户提供了丰富的自定义组件和功能。然而,该插件在2.0及以下所有版本中存在严重的存储型跨站脚本(XSS)漏洞。漏洞根源在于SVG文件上传功能缺乏足够的输入清理和输出转义处理。攻击者可以通过上传包含恶意JavaScript代码的SVG文件,在目标网站的页面中注入任意Web脚本。由于SVG文件被存储在服务器上,每当用户访问这些被注入恶意代码的SVG文件时,攻击脚本就会自动执行,可能导致会话劫持、敏感信息窃取或进一步的攻击链。值得注意的是,虽然利用此漏洞需要高级版本创建带有文件上传字段的表单,但一旦表单被创建,即使高级版本被停用或卸载,漏洞仍然可被利用。这使得该漏洞具有极高的隐蔽性和持久性威胁。
该漏洞的核心问题在于SVG文件上传处理流程中的安全验证缺失。当用户通过表单上传SVG文件时,插件的unitecreator_form.class.php文件(第1952、1960、598行)未能对SVG内容进行严格的输入验证和过滤。SVG格式本质上是一个XML文档,允许嵌入JavaScript代码(如<script>标签或事件处理器onclick、onerror等)。攻击者可以构造一个包含恶意JavaScript payload的SVG文件,例如在SVG的script元素或事件属性中嵌入alert()等测试代码。文件上传后,由于缺少输出转义处理,当该SVG文件被浏览器加载或在其他页面被引用时,恶意脚本会以存储型XSS的形式执行。攻击者可以利用此漏洞窃取用户cookies、劫持会话、进行钓鱼攻击或植入进一步的攻击载荷。由于漏洞利用无需认证(PR:N),且可通过网络直接发起(AV:N),使得任何能够访问文件上传功能的未认证用户都可能成为潜在攻击者。