CVE-2025-12648WP-Members是WordPress平台上广泛使用的会员管理和内容限制插件,允许网站管理员控制对特定内容的访问权限。该插件提供了用户注册、登录、表单定制和内容保护等功能,深受网站管理员的青睐。然而,在3.5.4.4及之前版本中,插件存在严重的安全漏洞,允许未经授权的攻击者访问和下载用户上传的敏感文件。由于插件将用户上传的文件存储在可预测的目录结构中,且缺乏有效的访问控制机制,攻击者可以通过枚举用户ID和文件名来直接访问其他用户上传的文档、合同、身份证明等敏感信息。此漏洞影响所有使用该插件且允许用户上传文件的WordPress网站,可能导致大量用户隐私数据泄露。
该漏洞的根本原因在于WP-Members插件对用户上传文件缺乏安全的存储和访问控制机制。具体问题包括:1) 文件存储路径可预测:插件使用固定格式的目录结构`wp-content/uploads/wpmembers/user_files/<user_id>/`存储文件,攻击者只需知道目标用户的ID即可构造访问路径。2) 访问控制不足:虽然插件配置了`.htaccess`文件阻止目录列表(Options -Indexes),但这只能防止攻击者浏览目录结构,无法阻止已知文件名的直接访问请求。3) 无身份验证验证:当攻击者通过直接URL访问文件时,服务器不会验证请求者是否为文件上传者本人或是否具有合法访问权限。攻击者可以使用自动化脚本枚举大量用户ID和常见文件名(如contract.pdf、id_card.jpg、document.docx等),批量下载用户敏感文件。漏洞代码位于`class-wp-members-forms.php`第604行和`class-wp-members-admin-api.php`第707行附近的上传处理逻辑中。