OpenBao is an open source identity-based secrets management system. Prior to version 2.5.2, OpenBao does not prompt for user confirmation when logging in via JWT/OIDC and a role with `callback_mode` set to `direct`. This allows an attacker to start an authentication request and perform "remote phishing" by having the victim visit the URL and automatically log-in to the session of the attacker. Despite being based on the authorization code flow, the `direct` mode calls back directly to the API and allows an attacker to poll for an OpenBao token until it is issued. Version 2.5.2 includes an additional confirmation screen for `direct` type logins that requires manual user interaction in order to finish the authentication. This issue can be worked around either by removing any roles with `callback_mode=direct` or enforcing confirmation for every session on the token issuer side for the Client ID used by OpenBao.
The attacker initiates a JWT/OIDC authentication request for a role with callback_mode=direct parameter set. Then they convince the victim to visit a specially crafted URL, which automatically completes the login process without any step requiring user interaction. In direct mode, the callback goes directly to the OpenBao API, allowing the attacker to repeatedly poll the API (polling) to obtain the OpenBao token until successful. The attacker thereby intercepts the victim's authentication token without their knowledge.
An attacker can obtain an OpenBao token authenticated as the victim, giving them access to managed secrets and resources with the compromised account's permissions, potentially leading to disclosure of sensitive data and system integrity violations.
OpenBao should be updated to version 2.5.2, which introduces an additional confirmation screen for direct mode logins requiring manual user interaction. As a workaround, all roles with callback_mode=direct can be removed or confirmation of each session can be enforced on the token issuer side for the Client ID used by OpenBao.
OpenBao (openbao/openbao) in all versions before 2.5.2, when roles with callback_mode=direct parameter are configured for JWT/OIDC
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:LOpenbao
APPOpenbao< 2.5.2
Related vulnerabilities
XSS w OpenBao — kradzież tokenu Web UI przez parametr error_description
OpenBao: ominięcie restrykcji przez subsystem audytu — RCE i dostęp sieciowy
OpenBao is an open source identity-based secrets management system. Prior to version 2.4.4, a privileged opera...
OpenBao is an open source identity-based secrets management system. In OpenBao versions prior to 2.4.1, JSON o...
OpenBao exists to provide a software solution to manage, store, and distribute sensitive data including secret...