Share
## https://sploitus.com/exploit?id=PACKETSTORM:171924
RCE Security Advisory  
https://www.rcesecurity.com  
  
  
1. ADVISORY INFORMATION  
=======================  
Product: SecurePoint UTM  
Vendor URL: https://www.securepoint.de/en/for-companies/firewall-vpn  
Type: Exposure of Sensitive Information to an Unauthorized Actor [CWE-200]  
Date found: 2023-01-05  
Date published: 2023-04-11  
CVSSv3 Score: 9.0 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H)  
CVE: CVE-2023-22620  
  
  
2. CREDITS  
==========  
This vulnerability was discovered and researched by Julien Ahrens from  
RCE Security.  
  
  
3. VERSIONS AFFECTED  
====================  
SecurePoint UTM 12.2.5  
SecurePoint UTM 12.2.5  
SecurePoint UTM 12.2.4.1  
SecurePoint UTM 12.2.4  
SecurePoint UTM 12.2.3.4  
SecurePoint UTM 12.2.3.3  
SecurePoint UTM 12.2.3.2 Reseller Preview  
SecurePoint UTM 12.2.3.1 Reseller Preview  
  
  
4. INTRODUCTION  
===============  
With secure networks, home office, site connectivity and the protection of your  
data are easy to implement. UTM firewalls and VPN gateways from Securepoint secure  
your networks - with suitable IT security solutions for small and medium-sized  
businesses for rent, purchase or as a complete service.  
  
(from the vendor's homepage)  
  
  
5. VULNERABILITY DETAILS  
========================  
The firewall offers an administrative web panel on port 11115 and a user login panel  
on port 443. Both offer the endpoint at "/spcgi.cgi" which leaks the "sessionid" of  
the last active authenticated user to any unauthenticated user when the application  
processes an invalid authentication attempt.  
  
However, the attacker needs two more authentication attributes to be able to successfully  
authenticate using the leaked sessionid:  
  
1. The attacker must have the same REMOTE_ADDR as the user whose sessionid is leaked.  
This isn't trivial to achieve, but exploitation is easy in configurations where any of the  
two panels are NAT'ed.  
  
2. The attacker needs to know the User-Agent of the user whose sessionid is leaked.  
However, since the application does not enforce a rate limit on the authentication  
endpoint, it is trivially easy to brute-force the User-Agent belonging to the leaked  
session and then authenticate to the device. As the linked blog post describes, the  
number of possible User-Agents can be further reduced.  
  
Interestingly this exploit works across both authentication panels, so an attacker  
can also leak the sessionId of an administrator using the user login interface and vice  
versa.  
  
Successful exploits can allow an unauthenticated attacker to authenticate against  
the administrative interface without knowing the user's password. If the last  
authenticated user has administrative privileges, this means a complete compromise  
of the device since it is trivially easy to escalate from admin to root using legitimate  
features.  
  
  
6. PROOF OF CONCEPT  
===================  
Wait until a user successfully authenticates against the device and then issue an  
invalid authentication attempt like:  
  
POST /spcgi.cgi HTTP/1.1  
Host: 192.168.175.1:11115  
Content-Length: 86  
Accept: */*  
Content-Type: application/json; charset=UTF-8  
Connection: close  
  
{"module":"auth","command":["login"],"sessionid":"","arguments":{"user":"","pass":""}}  
  
The application then returns the last active user's sessionid:  
  
{  
"sessionid": "8d4602543120a48a4ec30762c5cad3fa",  
"mode": "w",  
"result": {  
"module": "server",  
"code": 401,  
"status": "Unauthorized",  
"message": "failure: access denied"  
},  
"version": "11.6"  
}  
  
This is also exploitable against the user interface on port 443.  
  
  
7. SOLUTION  
===========  
Upgrade to version 12.2.5.1 or newer  
  
  
8. REPORT TIMELINE  
==================  
2023-01-04: Discovery of the vulnerability  
2023-01-04: MITRE assigns CVE-2023-22620  
2023-01-05: Contacted vendor via their security@  
2023-01-05: Vendor response  
2023-01-05: Sent full vulnerability details to vendor  
2023-01-06: Vendor acknowledged the vulnerability  
2023-01-06: Vendor asks to set the disclosure date to 2023-04-11 due to the # of affected customers  
2023-01-06: RCE Security agrees to the proposed disclosure date  
2023-01-06: Vendor publishes hotfix 12.2.5.1 which fixes the vulnerability  
2023-04-11: Public disclosure  
  
  
9. REFERENCES  
==============  
https://www.rcesecurity.com/2023/04/securepwn-part-1-bypassing-securepoint-utms-authentication-cve-2023-22620/  
https://github.com/MrTuxracer/advisories