CVE-2025-9703CVE-2025-9703是Ultimate Addons for Elementor(曾用名Elementor Header & Footer Builder)WordPress插件中存在的一个跨站脚本(XSS)安全漏洞。该插件在2.5.0版本之前,未对通过xmlrpc.php端点使用base64编码上传的SVG文件内容进行充分的清理和过滤。SVG(Scalable Vector Graphics)作为一种基于XML的矢量图形格式,支持嵌入JavaScript脚本和事件处理器,这使得恶意攻击者可以利用未净化的SVG文件内容注入并执行恶意脚本代码。该漏洞由WPScan团队([email protected])发现并报告,CVSS 3.1评分为4.3分,属于中等严重等级。虽然该漏洞的攻击复杂度较低且需要网络访问,但利用条件要求攻击者具备高权限(PR:H),并且需要目标用户进行一定的交互(UI:R),因此整体风险评级为中等。该漏洞可能导致存储型XSS攻击,攻击者可以在受害者的浏览器上下文中执行任意JavaScript代码,窃取会话cookie、篡改页面内容或执行其他恶意操作。WordPress生态系统中此类插件漏洞较为常见,因为SVG文件的处理涉及XML解析和内容渲染,需要特别关注安全过滤。
该漏洞的核心技术问题在于Ultimate Addons for Elementor插件在处理通过WordPress xmlrpc.php端点上传的SVG文件时,未对SVG文件内容进行有效的安全清理。xmlrpc.php是WordPress提供的XML-RPC协议接口,允许通过HTTP协议进行远程过程调用,包括文件上传等操作。攻击者首先需要将恶意的SVG文件内容进行base64编码,然后通过xmlrpc.php端点上传。SVG格式本身支持内嵌JavaScript代码,例如通过<script>标签或事件处理器属性(如onload、onmouseover等)来执行脚本。当插件接收并存储该SVG文件后,由于缺乏对SVG内容的清理(如使用DOMPurify等库进行过滤),恶意脚本得以保留。当其他用户访问包含该SVG文件的页面时,浏览器会解析SVG并执行其中的恶意JavaScript代码,从而触发XSS攻击。攻击者可以利用此漏洞窃取用户会话、执行未授权操作、钓鱼攻击或传播恶意软件。由于该漏洞需要高权限(PR:H)才能触发,这表明攻击者需要先获取WordPress站点的编辑或管理员权限才能利用xmlrpc.php上传功能。但一旦具备相应权限,即可轻松植入恶意SVG文件,影响访问站点的其他用户。