CVE-2025-13907CVE-2025-13907是WordPress的CSS3 Buttons插件中的一个存储型跨站脚本(Stored XSS)安全漏洞。该插件主要用于在WordPress网站中创建美观的CSS3按钮样式。漏洞源于插件在处理用户通过'button'短代码提供的属性时,缺乏充分的输入清理和输出转义机制。攻击者利用此漏洞可以在包含按钮的页面中注入恶意JavaScript代码。由于漏洞性质为存储型,注入的恶意脚本会被永久保存在网站数据库中,所有访问包含恶意内容页面的用户都会执行这些脚本,可能导致会话劫持、敏感信息窃取、网站内容篡改等严重后果。漏洞影响插件0.1及以下所有版本。
该漏洞存在于CSS3 Buttons插件的css3-buttons.php文件第59行附近的代码中。插件在注册shortcode(短代码)处理器时,直接将用户通过短代码属性传递的参数用于生成HTML输出,而没有进行适当的安全处理。具体问题包括:1)输入验证不足:插件未对短代码属性值进行严格的类型检查和内容验证,允许攻击者注入任意属性值;2)输出转义缺失:在将用户输入嵌入HTML属性或文本节点时,未使用htmlspecialchars()或esc_attr()等函数进行转义;3)权限控制不当:虽然需要 contributor 级别权限,但该权限通常授予可撰写文章的用户,其提交的代码会经过管理员审核前就可能被其他用户访问。攻击者只需构造包含恶意脚本的短代码即可实现持久化攻击,payload示例:[button href='javascript:alert(1)']Click[/button]。