CVE-2025-11701CVE-2025-11701是WordPress Zip Attachments插件中存在的一个中危安全漏洞,该漏洞由Wordfence安全团队发现并报告。该插件是一款用于将文章附件打包为ZIP文件下载的WordPress插件,广泛应用于需要提供批量附件下载功能的网站中。
该漏洞的根本原因在于插件的`za_create_zip_callback`函数中缺少必要的能力检查(capability check)以及文章状态验证(post status validation)。这意味着任何未经认证的远程攻击者都可以通过构造特定的请求,绕过正常的权限控制机制,访问并下载属于私有文章(private posts)和密码保护文章(password-protected posts)的附件资源。
根据CVSS 3.1评分标准,该漏洞的评分为5.3分,属于中危级别。漏洞的攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需任何特权(PR:N),无需用户交互(UI:N),其影响范围仅涉及机密性的低程度泄露(C:L),对完整性和可用性没有影响。这表明虽然漏洞利用难度较低,但其危害范围相对有限,主要风险在于敏感附件内容的未授权泄露。
此漏洞影响该插件所有1.6及以下版本。由于WordPress插件生态的广泛性,使用Zip Attachments插件的网站管理员应及时关注此漏洞的修复进展,并采取相应的安全措施以防止潜在的数据泄露风险。
该漏洞的核心问题在于`za_create_zip_callback`回调函数中缺少两个关键的安全检查机制:
1. **能力检查缺失(Missing Capability Check)**:在WordPress中,正常情况下执行某些操作(如读取私有文章内容)需要用户具备相应的权限(如`read_private_posts`能力)。然而,`za_create_zip_callback`函数在处理ZIP创建请求时,没有验证当前用户是否具有访问目标文章附件的权限。这意味着即使是未登录的访客,也可以触发该函数并获取私有文章的附件。
2. **文章状态验证缺失(Missing Post Status Validation)**:WordPress中的文章可以处于多种状态,包括`publish`(已发布)、`private`(私有)、`password`(密码保护)等。正常逻辑下,私有和密码保护的文章应该仅对具有相应权限的用户可见。但该函数没有对文章的状态进行检查和过滤,直接允许对所有状态的文章执行附件打包操作。
**漏洞利用方式**:
攻击者无需任何认证,只需向WordPress站点的AJAX端点(admin-ajax.php)发送带有特定参数的POST请求,调用`za_create_zip`动作,并传入目标文章ID(特别是私有或密码保护文章的ID),即可触发`za_create_zip_callback`函数。函数将根据传入的文章ID收集所有附件并打包为ZIP文件返回给攻击者,从而实现对受保护附件的未授权下载。
相关漏洞代码位于zip-attachments.php的第46行和第95行,这些位置涉及回调函数的注册和实现逻辑。