CVE-2025-15021Gotham Block Extra Light是WordPress平台的一个区块编辑器增强插件。该插件在1.5.0及之前的所有版本中存在严重的存储型跨站脚本(XSS)漏洞。漏洞根源在于插件的管理设置页面缺乏足够的输入过滤和输出转义机制。攻击者通过在管理员后台设置中注入恶意JavaScript代码,这些代码会被永久存储在数据库中。当其他用户访问包含被注入内容的页面时,恶意脚本将自动执行,可能导致会话劫持、敏感数据窃取、恶意重定向等严重后果。值得注意的是,该漏洞的利用受到特定条件限制,仅影响WordPress多站点安装或已禁用unfiltered_html功能的站点。攻击者需要具备管理员级别权限才能成功利用此漏洞,这降低了漏洞的利用门槛但同时也限制了潜在的的攻击者范围。
该存储型XSS漏洞存在于Gotham Block Extra Light插件的admin settings功能中。漏洞文件主要位于gothamblock.php的关键代码行(463,470,495,500,504,519,564,578行)。漏洞原理如下:1) 输入验证不足:插件在接收用户输入的管理设置参数时,未对特殊字符进行有效的过滤和验证,允许攻击者输入包含JavaScript代码的恶意载荷。2) 输出转义缺失:当这些未经过滤的数据被存储到数据库后,在后续页面渲染时没有进行适当的HTML转义处理,导致浏览器将其解析为可执行代码。3) 存储型特性:恶意脚本随设置数据永久存储在数据库中,每次访问相关页面都会触发执行,形成持续性攻击。攻击者可通过WordPress管理后台的插件设置界面注入<script>标签或事件处理器属性(如onerror、onload等),实现XSS攻击。修复版本1.5.1通过添加WordPress内置的sanitize_text_field、esc_html等函数对输入输出进行处理,有效防止了恶意脚本的注入和执行。