CVE-2025-13989WP Dropzone是WordPress平台上一个用于文件上传的插件。该插件在1.1.1及之前的所有版本中存在严重的存储型跨站脚本(Stored XSS)漏洞。漏洞根源在于插件对用户提供的'callback'短代码属性缺乏足够的输入清理和输出转义。攻击者可以通过在短代码中注入恶意的JavaScript代码,这些代码会被存储在数据库中,并在其他用户访问包含该短代码的页面时执行。由于该插件使用`new Function()`构造函数直接执行callback属性值,攻击者可以借此在受害者浏览器中执行任意JavaScript代码,从而窃取会话cookie、劫持用户账户或进行其他恶意操作。攻击者需要具有Contributor级别或更高的权限即可利用此漏洞。
漏洞存在于WP Dropzone插件的文件处理逻辑中。具体来说,插件在处理shortcode时,会将用户提供的'callback'参数传递给JavaScript的`new Function()`构造函数来动态创建并执行函数。在class-plugin.php的第303行和wp-dropzone.js的第86行,callback参数被直接使用而没有进行任何过滤或转义。攻击者可以通过以下方式利用:1) 在页面或文章的短代码中注入恶意payload,如[wp-dropzone callback='alert(document.cookie)'];2) 由于这是存储型XSS,payload会被永久保存在数据库中;3) 当任何用户访问该页面时,恶意JavaScript代码会在其浏览器上下文中执行。攻击者可以利用此漏洞窃取认证令牌、执行任意操作或重定向用户到恶意网站。CVSS 3.1评分6.4(Medium),攻击向量为网络,无需特殊权限要求(Contributor+),但需要认证。