CVE-2025-12712CVE-2025-12712是WordPress Shouty插件中的一个存储型跨站脚本(XSS)漏洞。该插件是WordPress的一个短代码扩展插件,用于在文章和页面中显示弹幕式评论。漏洞存在于shouty短代码的处理逻辑中,由于插件对用户提供的属性参数缺乏充分的输入清理和输出转义处理,导致恶意JavaScript代码可以被注入到网页内容中。由于漏洞属于存储型XSS,攻击者注入的恶意代码会永久保存在数据库中,任何访问包含该短代码页面的用户都会触发执行,从而造成会话劫持、敏感信息窃取等安全风险。攻击者需要拥有WordPress网站的Contributor级别或更高权限账户才能利用此漏洞,这降低了漏洞被利用的门槛,因为Contributor角色在WordPress中是一个相对较低的权限级别。
该漏洞的技术根源在于Shouty插件的shouty.php文件第138和139行代码对短代码属性的处理方式。插件使用WordPress的do_shortcode钩子注册shouty短代码,当用户在文章或页面中插入[shouty]短代码并提供属性参数时,插件直接将这些属性值回显到HTML输出中而未进行适当的转义处理。攻击者可以通过构造恶意的属性值,如在属性中嵌入JavaScript事件处理器或script标签,实现任意JavaScript代码的执行。由于输出时缺少esc_html()或esc_attr()等WordPress安全转义函数的保护,用户输入被直接插入到HTML上下文中。漏洞的存储特性意味着攻击只需执行一次,后续所有访问该页面的用户都会自动执行恶意脚本,形成持续性的攻击向量。攻击者可以利用此漏洞窃取管理员cookies、进行钓鱼攻击或重定向用户到恶意网站。