CVE-2026-3339WordPress Keep Backup Daily插件在所有版本(包括2.1.1及以下)中存在有限的路径遍历漏洞。该漏洞源于`kbd_open_upload_dir` AJAX动作对`kbd_path`参数的验证不足,仅使用了`sanitize_text_field()`函数进行清理,而该函数无法去除路径遍历序列。这使得拥有管理员及以上权限的经过身份验证的攻击者能够列出服务器上预期上传目录之外的任意目录内容,从而导致敏感信息泄露。
该漏洞的根本原因在于开发人员对输入清理函数的误用。插件在处理`kbd_open_upload_dir` AJAX请求时,接收用户提交的`kbd_path`参数,并期望通过`sanitize_text_field()`函数确保安全性。然而,`sanitize_text_field()`主要用于防止跨站脚本(XSS)攻击,它会移除HTML标签、八位组和额外的空格,但并不处理路径遍历字符(如`../`或`..\`)。因此,当攻击者具有管理员权限时,可以构造包含`../`序列的恶意参数(例如`../../../../etc/passwd`)。服务器端代码在未进行路径规范化或前缀检查的情况下,直接使用该参数作为路径参数调用文件系统函数(如`scandir`)。这将允许攻击者突破预定义的备份目录限制,遍历并读取服务器文件系统的其他目录结构。