CVE-2026-4031WordPress的Database Backup插件在2.5.2及之前版本中存在严重的授权绕过漏洞。该漏洞源于插件未能正确限制`wp_db_temp_dir`参数,该参数用于控制数据库备份文件的写入路径。未经身份验证的攻击者可利用此缺陷,向`wp-cron.php`发送恶意请求,将临时目录篡改为公开可访问的目录(例如`wp-content/uploads/`)。当站点执行预设的备份计划时,备份文件会被写入攻击者指定的路径。由于备份文件名基于数据库名、日期等可预测因素生成,攻击者能在文件被清理前可靠地拦截并下载该文件。成功利用此漏洞会导致敏感信息泄露,包括数据库凭证、用户密码哈希及个人身份信息。
该漏洞主要涉及WordPress插件中的参数验证缺失与文件操作逻辑缺陷。具体而言,插件在处理数据库备份时,直接使用了用户可控的`wp_db_temp_dir`参数作为临时文件的存储路径,未进行权限校验或路径合法性检查。攻击者无需登录(PR:N),即可构造包含恶意参数的HTTP请求发送至`wp-cron.php`。通过将该参数设置为`wp-content/uploads/`等Web可写且可访问的目录,攻击者改变了备份文件的落地位置。由于WordPress的Cron机制在处理请求时会检查并执行到期的计划任务,若此时恰逢备份任务触发,插件便会将包含敏感数据的SQL转储文件写入攻击者设定的目录。此外,文件命名算法依赖于数据库名、表前缀、日期和Swatch Internet Time,这种确定性使得攻击者能够精确计算出文件名。攻击者只需在文件生成后、清理程序执行前的时间窗口内访问该URL,即可完成数据窃取。