The vulnerability, CVE-2026-45808, is an incorrect authorization flaw in OpenBao that allows for cross-namespace lease manipulation. The root cause lies in the existence of legacy API endpoints for lease management (/sys/revoke, /sys/renew, /sys/revoke-prefix, /sys/revoke-force) that did not correctly enforce namespace-based Access Control Lists (ACLs). This allowed a user with permissions in one namespace to revoke or renew leases belonging to another namespace if they knew the lease ID.
The patch addresses this by removing these legacy endpoints entirely. The changes in vault/logical_system_paths.go are central to the fix. The URL routing patterns were modified to remove the optional (leases/)? prefix, making the leases/ part of the URL path mandatory. For example, the pattern (leases/)?revoke was changed to leases/revoke.
This forces all lease operations to go through the modern, namespace-aware paths (e.g., /sys/leases/revoke), which correctly enforce ACLs. The functions that handle these operations (handleRevoke, handleRenew, etc.) within the SystemBackend were the ones executing the unauthorized actions when called via the vulnerable legacy paths. Therefore, these handler functions, and the leasePaths function that exposed them, are identified as the vulnerable functions.