CVE-2025-13705CVE-2025-13705是WordPress Custom Frames插件中的一个存储型跨站脚本(XSS)漏洞。该插件专门用于在WordPress网站上创建和管理自定义框架功能。漏洞源于插件在处理shortcode时对用户输入的'class'参数缺乏充分的输入验证和输出转义。在1.0.1及以下所有版本中,攻击者可以利用此漏洞通过在shortcode中注入恶意JavaScript代码来实现存储型XSS攻击。由于漏洞存在于shortcode处理逻辑中,注入的恶意脚本会被永久存储在数据库中,任何访问包含该shortcode页面的用户都会触发恶意代码执行。这使得攻击者能够窃取用户会话cookie、劫持用户账户、进行钓鱼攻击或修改页面内容,对网站安全性构成严重威胁。攻击者需要拥有至少Contributor级别的账户权限即可实施攻击。
该漏洞的根本原因在于Custom Frames插件的class.customframes.php文件第65行附近的shortcode处理逻辑中存在输入验证缺陷。具体来说,插件在注册[customframe]短代码时,直接将用户提供的'class'参数值插入到HTML元素的class属性中,而没有进行适当的HTML实体编码或输入过滤。攻击者可以通过构造特殊的class参数值来注入任意HTML/JavaScript代码。例如,使用包含引号和脚本标签的值可以突破属性上下文的限制,执行任意脚本。由于shortcode处理发生在服务器端,恶意代码会被永久存储在WordPress的文章/页面内容中。每次页面被访问时,存储的恶意代码都会被浏览器解析执行,形成存储型XSS攻击面。此类漏洞的危险性在于攻击只需一次注入即可影响所有访问该页面的用户,包括管理员。修复方案需要在输出class参数前使用esc_attr()函数进行HTML实体编码。