CVE-2025-12667CVE-2025-12667是WordPress平台上一款名为GitHub Gist Shortcode的插件存在的安全漏洞。该插件用于在WordPress文章或页面中嵌入GitHub Gist代码片段。然而,由于插件在处理用户输入时存在输入验证和输出编码不足的问题,导致攻击者可以通过插件提供的[gist]短代码功能注入恶意JavaScript代码。该漏洞被评定为存储型跨站脚本攻击(Stored XSS),意味着攻击者注入的恶意代码会被永久存储在网站数据库中。当其他用户访问包含恶意代码的页面时,攻击者的JavaScript脚本将在受害者浏览器中执行,可能导致会话劫持、敏感信息窃取、管理后台账户接管等严重后果。攻击者需要具备WordPress网站的Contributor(贡献者)级别权限或更高权限即可实施攻击,这大大降低了攻击门槛,因为Contributor权限在WordPress中属于相对较低的权限级别。
该漏洞的根本原因在于GitHub Gist Shortcode插件(版本0.2及以下)在处理[gist]短代码的'id'参数时缺乏充分的输入清理和输出转义。攻击者可以在[gist]短代码的id参数中注入任意HTML或JavaScript代码。插件在渲染页面时直接将用户输入的内容输出到HTML页面中,而没有对特殊字符进行适当的HTML实体编码。例如,攻击者可以构造如下payload:<script>alert(document.cookie)</script>。由于该payload被存储在数据库中(存储型XSS),所有访问该页面的用户都会触发恶意脚本执行。从CVSS评分6.4可以看出,该漏洞的网络可达性(AV:N)和低权限要求(PR:L)使其具有较高的利用可能性。虽然攻击不需要用户交互(UI:N),但由于是存储型XSS,攻击影响范围仅限于攻击者能够发布内容的页面。修复方案应包括对[id]参数进行严格的输入验证,并使用esc_html()或esc_attr()等WordPress安全函数对输出进行适当的HTML转义。