CVE-2025-12880Progress Bar Blocks for Gutenberg是WordPress的一个进度条块插件,用于在古腾堡编辑器中创建进度条。该插件在1.0.0及之前的所有版本中存在严重的存储型跨站脚本(XSS)漏洞。漏洞根源在于SVG文件上传时缺乏足够的输入清理和输出转义处理。攻击者只需拥有Author(作者)级别或更高的WordPress账户,即可上传包含恶意JavaScript代码的SVG文件。当其他用户访问这些SVG文件时,嵌入的恶意脚本将在其浏览器上下文中执行,可能导致会话劫持、敏感信息窃取或进一步的权限提升攻击。由于SVG文件通常被浏览器直接渲染,此漏洞的危害性不容忽视。
该漏洞是典型的存储型XSS问题,发生在SVG文件上传功能中。攻击者利用SVG文件格式支持内联脚本的特性,将恶意JavaScript代码嵌入SVG文件内容。当文件被上传到WordPress媒体库后,其他用户访问该SVG文件时,浏览器会直接解析并执行其中的脚本代码。漏洞的技术要点包括:(1)输入验证不足:插件未对上传的SVG文件内容进行安全检查,未过滤或清理可能存在的script标签和事件处理属性如onload、onerror等;(2)输出转义缺失:当SVG文件被访问时,插件未对文件内容进行适当的HTML转义处理;(3)SVG特性滥用:SVG格式支持JavaScript执行,攻击者可利用script元素或事件处理器属性注入代码。攻击者可通过上传恶意SVG文件到文章或页面中,等待受害者访问触发执行。