CVE-2026-45808
Wolfi vulnerability analysis and mitigation

Overview

CVE-2026-45808 is an incorrect authorization vulnerability in OpenBao that allows authenticated users in one namespace to revoke or renew leases and credentials belonging to tenants in other namespaces, breaking multi-tenant isolation. It affects all OpenBao versions up to and including 2.5.3 (Go module github.com/openbao/openbao). The vulnerability was published on May 21, 2026, and a patch was released in v2.5.4 on May 20, 2026. The GitHub Advisory Database assigns a CVSS v4 score of 7.1 (High) based on the NVD scoring, while the OpenBao security advisory itself rates it 2.0 (Low) with stricter preconditions (GitHub Advisory, OpenBao Advisory, v2.5.4 Release).

Technical details

The root cause is CWE-863 (Incorrect Authorization): the legacy, largely undocumented sys/revoke, sys/renew, sys/revoke-prefix, and sys/revoke-force endpoints did not enforce namespace boundaries when processing lease operations. These endpoints accepted lease identifiers without verifying that the requesting tenant's namespace matched the namespace of the lease owner, allowing cross-namespace lease manipulation. The fix, implemented in PR #3152, removes these legacy endpoint patterns entirely (changing route patterns from (leases/)?revoke to leases/revoke only), forcing all clients to use the properly namespace-scoped sys/leases/* equivalents. Exploitation requires the attacker to be an authenticated user in one namespace and to have obtained a valid lease identifier from another tenant's namespace (GitHub Advisory, Fix Commit, PR #3152).

Impact

Successful exploitation allows an authenticated tenant in one namespace to revoke another tenant's active leases and underlying credentials (e.g., dynamic secrets such as database passwords or cloud IAM keys), causing a denial of service for that tenant by cutting off their access to managed secrets. Alternatively, an attacker could renew a lease belonging to another namespace, potentially extending the validity of credentials they should not control — for example, prolonging access to a compromised credential set. There is no confidentiality or integrity impact on the vulnerable system itself; the primary impact is availability disruption to affected tenants (GitHub Advisory, OpenBao Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at this time (Feedly). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires an authenticated user with low privileges in one namespace who has obtained a lease identifier from another namespace — a precondition that limits practical exploitability. No threat actor attribution is available. The EPSS score is not yet published for this CVE.

Exploitation steps

  1. Obtain authentication: Acquire a valid OpenBao token with at least low-privilege access to any namespace on the target OpenBao instance (e.g., via a free-trial or shared-tenant account).
  2. Obtain a cross-namespace lease identifier: Convince or observe a tenant in another namespace to leak their lease identifier (e.g., via logs, shared tooling, or social engineering), since lease IDs are the only prerequisite for exploitation.
  3. Send a revocation request via the legacy endpoint: Issue an HTTP PUT request to the legacy sys/revoke/<lease_id> endpoint (not the namespace-scoped sys/leases/revoke/<lease_id>), supplying the cross-namespace lease ID and your own valid token:
    PUT /v1/sys/revoke/<target_lease_id>
    X-Vault-Token: <attacker_token>
  4. Alternatively, renew the lease: To extend a compromised credential's validity, send a PUT to sys/renew/<lease_id> with the cross-namespace lease ID.
  5. Achieve impact: The target tenant's credential is revoked (disrupting their access) or renewed (extending attacker-controlled credential validity) without any namespace authorization check (GitHub Advisory, Fix Commit).

Indicators of compromise

  • Network/API Logs: HTTP PUT requests to /v1/sys/revoke/<lease_id> or /v1/sys/renew/<lease_id> (legacy paths, not /v1/sys/leases/revoke/ or /v1/sys/leases/renew/) originating from a token belonging to a different namespace than the lease owner.
  • Audit Logs: OpenBao audit log entries showing sys/revoke or sys/renew operations where the requesting token's namespace does not match the namespace embedded in the lease_id field.
  • Operational Anomalies: Unexpected lease revocations or renewals for dynamic secrets (e.g., database credentials, cloud IAM keys) in a namespace, particularly when the affected tenant did not initiate the action — observable via OpenBao's lease lookup APIs or downstream service authentication failures.

Mitigation and workarounds

Upgrade OpenBao to version 2.5.4 or later, which removes the legacy sys/revoke, sys/renew, sys/revoke-prefix, and sys/revoke-force endpoints entirely, enforcing use of the namespace-scoped sys/leases/* equivalents (v2.5.4 Release). As an interim workaround prior to upgrading, restrict access to the legacy endpoints via OpenBao ACL policies and treat lease identifiers as sensitive secrets — avoid logging or sharing them across tenant boundaries. Network-level controls (e.g., blocking direct API access to the legacy paths) may also reduce exposure in environments where upgrading is not immediately possible (OpenBao Advisory).

Community reactions

The fix was authored by Alexander Scheel (cipherboy) of the OpenBao project and merged on May 20, 2026, with the advisory published the following day. The vulnerability was reported by security researcher fg0x0. Coverage appeared in Linux distribution security update channels (e.g., Fedora package updates) and German security news outlet pro-linux.de shortly after disclosure. No significant broader media or social media discussion has been identified beyond routine package update announcements (v2.5.4 Release, PR #3152).

Additional resources


SourceThis report was generated using AI

Related Wolfi vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-5917CRITICAL9.4
  • Wolfi logoWolfi
  • rust-std-static-x86_64-unknown-none
NoNoAug 11, 2026
CVE-2026-73080CRITICAL9.3
  • Wolfi logoWolfi
  • seaweedfs
NoYesAug 11, 2026
CVE-2026-73242HIGH8.3
  • Wolfi logoWolfi
  • freerdp-devel
NoYesAug 11, 2026
CVE-2026-73241HIGH8.3
  • Wolfi logoWolfi
  • freerdp2
NoYesAug 11, 2026
CVE-2026-49349MEDIUM6.8
  • Wolfi logoWolfi
  • gpu-operator-fips-25.3
NoYesAug 12, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management