提交 #868924: Tenda G0 Tenda G0 Buffer Overflow信息

标题Tenda G0 Tenda G0 Buffer Overflow
描述A buffer overflow vulnerability was discovered in Tenda G0. Attackers can exploit this vulnerability by specifying the value of portMirrorMirroredPorts. When portMirrorMirroredPorts is parsed by formSetPortMirror and written into the fixed-size stack buffer s_ through sprintf without length validation, it may cause a buffer overflow. Technical details from the advisory: The vulnerable component is the httpd web management interface. The vulnerable endpoint is goform/module. The unified module dispatch entry is: websDefineAction("module", (int)formModules); The setPortMirror handler is registered as: moduleRegister("setPortMirror", (int)formSetPortMirror); In formSetPortMirror, the attacker-controlled portMirrorMirroredPorts parameter is read from the JSON request: String = cJSON_GetString(a2, "portMirrorMirroredPorts", (int)&unk_507E10); The destination buffer is a fixed-size stack buffer: char s_[256]; When portMirrorEn is enabled, the user-controlled value is formatted into s_ without length validation: sprintf(s_, "1;%d;%s", 3, (const char *)String); Because sprintf writes the complete portMirrorMirroredPorts string into the fixed-size s_ stack buffer, an overly long value can overflow the buffer and corrupt adjacent stack memory. Conceptual proof-of-concept request: POST /goform/module HTTP/1.1 Host: <device-ip> Content-Type: application/json {"setPortMirror":{"portMirrorEn":true,"portMirrorMirroredPorts":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}}
来源⚠️ https://github.com/lipenghai/iot_bug/blob/main/Tenda/G0/1.md
用户
 stksgg (UID 97520)
提交2026-06-25 09時07分 (2 月前)
管理2026-08-13 20時55分 (2 months later)
状态已接受
VulDB条目389757 [Tenda G0 直到 20260625 httpd Web Management Interface /goform/module formSetPortMirror portMirrorMirroredPorts 内存损坏]
积分20

Do you need the next level of professionalism?

Upgrade your account now!