CVE-2026-0627AMP for WP是WordPress平台上广泛使用的移动端页面加速插件。该插件在1.1.10及之前版本中存在严重的存储型跨站脚本(XSS)漏洞,源于其SVG文件上传功能的安全过滤机制不完善。插件仅对SVG文件内容进行基础的`<script>`标签移除操作,但未能过滤其他XSS攻击向量,包括事件处理器属性(如onload、onerror、onmouseover)、foreignObject元素以及SVG动画属性等。这使得具有Author级别及以上权限的认证攻击者能够通过上传恶意构造的SVG文件,在目标网站中注入任意Web脚本。由于SVG文件通常会被WordPress媒体库存储并可被其他用户访问,所有访问该恶意文件的用户都将自动执行攻击者植入的恶意代码,可能导致会话劫持、敏感信息窃取、钓鱼攻击等严重安全后果。
该漏洞的核心问题在于SVG文件解析的安全边界。SVG作为XML格式的矢量图形,支持内联JavaScript、事件绑定和外部实体引用。插件的features.php文件(第10373行附近)对上传的SVG内容进行了不完整的安全检查,仅使用简单的正则表达式或字符串操作移除`<script>`标签。然而,SVG标准允许通过多种方式执行JavaScript代码:1) 事件属性如`<svg onload=alert(1)>`可直接触发脚本;2) `<foreignObject>`元素可嵌入任意HTML和脚本;3) `<animate>`等动画元素的`onbegin`、`onend`属性可执行代码;4) `<set>`元素配合`attributeName`和`to`属性可动态修改元素属性。攻击者只需构造包含上述任意一种向量的SVG文件并通过插件的文件上传功能上传,即可在文件被访问时自动执行恶意代码。由于WordPress媒体库会为所有上传文件生成访问URL,攻击者可通过社交工程诱导管理员或其他用户访问该文件,从而实现持久化的攻击。