Skip to content

GHSA-7q7g-x6vg-xpc3 BIT-openbao-2026-33757 CVE-2026-33757 GO-2026-4860

OpenBao lacks user confirmation for OIDC direct callback mode

High Go
Severity
9.6 / 10
High · CVSS 3.1
Exploit chance (EPSS)
0.42%
Chance of exploitation in the next 30 days. Higher than 36.16% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-384 Session Fixation
Fix
0.0.0-20260325142553-e32103951925
Upgrade github.com/openbao/openbao to this version or later

Description

Impact

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.

Patches

Version 2.5.2 includes an additional confirmation screen for direct type logins that requires manual user interaction in order to finish the authentication.

Workarounds

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.

Affected versions

Go

PackageVulnerableFixed in
github.com/openbao/openbao
< 0.0.0-20260325142553-e32103951925
0.0.0-20260325142553-e32103951925

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

github.com/openbao/openbao Go → 0.0.0-20260325142553-e32103951925

go
go get github.com/openbao/openbao@v0.0.0-20260325142553-e32103951925 && go mod tidy

Severity breakdown

CVSS 3.1 9.6

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

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
Low

Weakness

CWE-384: Session Fixation

Authenticating a user, or otherwise establishing a new user session, without invalidating any existing session identifier gives an attacker the opportunity to steal authenticated sessions.

How to prevent it
  • Architecture and Design: Invalidate any existing session identifiers prior to authorizing a new user session.
  • Architecture and Design: For platforms such as ASP that do not generate new values for sessionid cookies, utilize a secondary cookie. In this approach, set a secondary cookie on the user's browser to a random value and set a session variable to the same value. If the session variable and the cookie value ever don't match, invalidate the session, and force the user to log on again.
  • Operation: Use an application firewall that can detect attacks against this weakness. It can be beneficial in cases in which the code cannot be fixed (because it is controlled by a third party), as an emergency prevention measure while more comprehensive software assurance measures are applied, or to provide defense in depth [REF-1481].

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-xp3c-3jw3-4vcr
OpenBao Skips Stricter Deny Policy for LIST operations
Medium Also affects github.com/openbao/openbao
GHSA-34fc-gh42-pj53
OpenBao's Recovery Mode Vulnerable To Token Leakage via Timing Attack
Critical Also affects github.com/openbao/openbao
GHSA-444v-8vxr-p36h
OpenBao Agent Writes Secrets to Stdout
Low Also affects github.com/openbao/openbao
GHSA-59w7-v8rr-pr4p
OpenBao's Templated Policies Allow Privilege Escalation via Wildcard Characters
High Also affects github.com/openbao/openbao
GHSA-8w8f-r2xv-4q4j
OpenBao: Transit secrets engine crashes on key creation with `derived: true` for asymmetric key types
Medium Also affects github.com/openbao/openbao
GHSA-mwr2-wmgp-crj6
OpenBao's System Backend allows Unauthorized Management of the containing Namespace
Low Also affects github.com/openbao/openbao
GHSA-c36x-h252-g9x2
OpenBao: Cross-namespace lease revocation/renewal via canonical sys/leases/{revoke,renew} — incomplete fix of CVE-2026-45808
Low Also affects github.com/openbao/openbao
GHSA-6mwx-4547-5vc9
OpenBao: LDAPi ldaputil (wrong escape func)
Medium Also affects github.com/openbao/openbao
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor