Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network API exploitation with low-privilege auth token (PR:L); scope changes because impact crosses namespace security boundaries (S:C); no credential confidentiality exposure, only revocation (C:N, I:L, A:L).
Primary rating from Vendor (https://github.com/openbao/openbao).
CVSS VectorVendor: https://github.com/openbao/openbao
Lifecycle Timeline
3DescriptionCVE.org
Summary
OpenBao users with access to the sys/leases/revoke/:lease_id endpoint in any namespace can revoke leases in any other namespace as long as the lease identifier is known to them, bypassing ACLs that should apply for cross-namespace revocations.
Impact
OpenBao's namespaces provide multi-tenant separation. A tenant who intentionally leaks lease identifiers can have their lease and underlying credential revoked by a user in another tenant.
Patch
This will be fixed in OpenBao v2.5.5.
References
This vulnerability is similar to but distinct from:
- CVE-2026-45808 / GHSA-v8v8-cm84-m686
- CVE-2026-40264 / GHSA-p49j-v9wc-wg57
AnalysisAI
Cross-namespace lease revocation in OpenBao allows authenticated tenants in one namespace to revoke leases belonging to any other namespace, bypassing multi-tenant ACL boundaries. Affected are all OpenBao versions from 0.1.0 through 2.5.4 (Go module pkg:go/github.com/openbao/openbao). An attacker who knows a lease identifier from a foreign namespace - for example through an intentional or accidental leak - can call sys/leases/revoke/:lease_id and force revocation of that namespace's credentials without any authorization to do so in that namespace. No public exploit has been identified at time of analysis, and this is noted as an incomplete fix of the related CVE-2026-45808.
Technical ContextAI
OpenBao is an open-source secrets management platform (a fork of HashiCorp Vault) written in Go. It uses a namespace model to provide multi-tenant isolation: each tenant operates within a discrete namespace, and ACL policies are scoped per namespace. Lease identifiers in OpenBao embed a namespace ID as a suffix (extracted via namespace.SplitIDFromString). The root cause (CWE-863: Incorrect Authorization) is that the request handling code in vault/request_handling.go was overriding the request's namespace context with the namespace embedded inside the lease ID itself, before ACL evaluation. This meant that when a tenant in namespace A presented a lease ID belonging to namespace B via the canonical path sys/leases/revoke/:lease_id, the system switched the execution context to namespace B and processed the revocation, skipping ACL enforcement that should have prevented cross-namespace operations. A parallel bug existed in vault/expiration.go's loadEntry function, which also extracted namespace context from the embedded lease ID during storage lookups, compounding the bypass. The fix in PR #3307 removes this automatic namespace-context override logic and adds explicit namespace validation in FetchLeaseTimesByToken.
RemediationAI
Upgrade to OpenBao v2.5.5, which contains the fix from commit b20b999dd4044d7b419a5472d8fe08407828be37 and PR #3307 (https://github.com/openbao/openbao/pull/3307). The advisory is published at https://github.com/openbao/openbao/security/advisories/GHSA-c36x-h252-g9x2. Note that the GHSA advisory package data lists the fixed version as a pre-release commit hash (0.0.0-20260617103932-b20b999dd404) rather than a tagged release, so confirm the v2.5.5 tagged release is available and published before upgrading. If immediate patching is not possible, restrict access to the sys/leases/revoke and sys/leases/renew endpoints via namespace-scoped ACL policies so that only privileged operators or root tokens hold those capabilities - this reduces, but does not eliminate, the attack surface if lease IDs can still be obtained. Additionally, audit audit logs and error outputs to ensure lease identifiers are not being exposed across namespace trust boundaries.
Same weakness CWE-863 – Incorrect Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-78681
GHSA-c36x-h252-g9x2