CVE-2025-13961CVE-2025-13961是WordPress Data Visualizer插件中的一个高危安全漏洞,该漏洞为存储型跨站脚本攻击(Stored Cross-Site Scripting)。漏洞源于插件在处理用户提供的shortcode属性时,未能对输入进行充分的清理和转义。攻击者利用此漏洞可以在受影响的WordPress页面中注入任意JavaScript代码,当其他用户访问包含恶意代码的页面时,这些脚本将自动执行,可能导致会话劫持、敏感信息窃取、恶意重定向等严重安全问题。由于该漏洞被标记为存储型XSS,恶意代码会永久保存在服务器端,影响所有访问被注入页面的用户。攻击者需要至少具备WordPress contributor(贡献者)级别的权限即可利用此漏洞,这意味着在多用户WordPress站点中,攻击门槛相对较低。
该漏洞存在于Data Visualizer插件的shortcode处理逻辑中,具体位于data-visualizer.php文件的第92行附近。插件通过[visualize]短代码功能允许用户嵌入数据可视化内容,然而在处理shortcode属性时,插件直接将用户输入嵌入到HTML输出中而未进行适当的清理和转义。攻击者可以通过构造恶意的shortcode属性值来注入JavaScript代码,例如在属性中包含<script>标签或事件处理器(如onerror、onload等)。由于插件未使用WordPress提供的esc_html()、esc_attr()或sanitize_text_field()等安全函数对用户输入进行处理,导致恶意脚本被存储在数据库中。当其他用户访问包含该shortcode的页面时,服务器将恶意内容作为正常HTML响应返回,浏览器将其解释为可执行脚本并执行。攻击者可利用此漏洞窃取管理员cookies、修改页面内容或执行其他恶意操作。