CVE-2025-7526CVE-2025-7526是WordPress的WP Travel Engine(旅游预订插件/旅游运营商软件)中的一个严重安全漏洞。该漏洞存在于插件的`set_user_profile_image`函数中,由于对文件路径验证不足,导致未经身份验证的攻击者可以通过重命名操作实现任意文件删除。该漏洞的CVSS评分为9.8,属于严重级别,影响该插件所有6.6.7及以下版本。
该漏洞的利用门槛极低——攻击者无需任何认证即可通过网络远程发起攻击,无需用户交互。一旦成功利用,攻击者可以删除服务器上的任意文件。当删除关键文件(如WordPress的`wp-config.php`配置文件)时,WordPress将进入安装向导状态,攻击者可以借此重新配置数据库连接并注入恶意代码,从而实现远程代码执行(RCE),完全控制目标服务器。
该漏洞由WordPress安全公司Wordfence的安全研究人员发现并报告。由于WP Travel Engine是一款广泛使用的旅游预订插件,拥有大量活跃安装站点,此漏洞的影响范围广泛,可能导致大量WordPress网站面临被入侵的风险。网站管理员应立即检查并更新插件至修复版本,以防止潜在的攻击。
该漏洞的根本原因在于WP Travel Engine插件中`set_user_profile_image`函数对用户提供的文件路径缺乏充分的验证和过滤。具体技术细节如下:
1. **漏洞位置**:漏洞存在于`includes/dashboard/class-wp-travel-engine-form-handler.php`文件的`set_user_profile_image`函数中(第512行附近,对应6.5.6版本标签)。
2. **漏洞原理**:该函数在处理用户上传的头像/个人资料图片时,允许通过参数控制文件的保存路径和文件名。攻击者可以通过构造特殊的路径参数(如使用`../`目录遍历序列),将原本应该保存到上传目录的文件重命名到服务器上的任意位置。当目标文件已存在时,重命名操作将覆盖或删除原文件。
3. **利用方式**:
- 攻击者向存在漏洞的端点发送精心构造的HTTP请求
- 请求中包含恶意的文件路径参数,指向关键系统文件(如`wp-config.php`)
- 插件执行重命名操作,将临时文件重命名到目标路径
- 由于重命名操作在大多数文件系统中会原子替换目标文件,`wp-config.php`被删除/覆盖
- WordPress失去配置文件后进入安装状态
- 攻击者通过安装向导重新配置数据库连接,植入恶意后门
4. **影响升级**:单独的任意文件删除通常被认为是中等严重性漏洞,但当能够删除`wp-config.php`时,攻击者可以通过WordPress安装流程获得代码执行权限,从而将漏洞影响升级为完整的远程代码执行。