CVE-2025-14399CVE-2025-14399是WordPress插件"Download Plugins and Themes in ZIP from Dashboard"中的一个跨站请求伪造(CSRF)漏洞。该插件用于从WordPress仪表板下载插件和主题为ZIP压缩包。漏洞存在于所有版本直到1.9.6,由于在download_plugin_bulk和download_theme_bulk函数中缺少或存在错误的nonce验证,导致攻击者可以绕过CSRF保护机制。攻击者可以通过诱导已登录的管理员点击恶意链接或访问特制网页,利用管理员权限执行批量下载操作,将网站上所有安装的插件和主题打包并保存到wp-content/uploads/目录中。这可能导致敏感代码信息泄露,攻击者可获取插件和主题的完整源代码用于进一步分析其他潜在漏洞或进行代码盗用。漏洞利用需要管理员交互(点击链接),但无需认证,攻击者可完全在匿名状态下发起攻击。
该漏洞的根本原因在于WordPress插件的CSRF保护机制不完善。在正常情况下,WordPress使用wp_verify_nonce()函数验证请求的合法性,确保请求来自合法的管理员操作。然而,download_plugin_bulk和download_theme_bulk这两个关键函数在处理批量下载请求时,要么未进行nonce验证,要么验证逻辑存在缺陷。攻击者可以构造一个包含恶意参数的POST请求,欺骗已登录的管理员浏览器发送请求到目标WordPress站点。当管理员访问攻击者控制的页面时,页面中的JavaScript会自动提交表单,请求触发插件的批量下载功能。由于请求来自管理员的浏览器,服务器会认为这是合法的管理员操作,从而执行下载并将所有插件和主题打包到wp-content/uploads/目录。攻击者可以通过目录遍历或直接访问该目录获取打包文件。这种攻击方式特别危险,因为攻击者无需窃取凭证,只需诱导用户点击链接即可。