GHSA-mwr2-wmgp-crj6

Suggest an improvement
Source
https://github.com/advisories/GHSA-mwr2-wmgp-crj6
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-mwr2-wmgp-crj6/GHSA-mwr2-wmgp-crj6.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-mwr2-wmgp-crj6
Aliases
  • CVE-2026-55775
Published
2026-06-19T21:42:06Z
Modified
2026-06-19T21:45:19.192547579Z
Severity
  • 2.3 (Low) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N CVSS Calculator
Summary
OpenBao's System Backend allows Unauthorized Management of the containing Namespace
Details

Summary

A user that is granted namespace management (/sys/namespaces) capabilities within a non-root namespace ("the victim namespace") can abuse special handling of the literal path "root" in namespace path canonicalization to manage the victim namespace itself.

Details

Several endpoints under /sys/namespaces/* accept a namespace path segment that is canonicalized and then appended to the path of the sys mount's containing namespace (set via path prefix or X-Vault-Namespace header) to determine the absolute path of the namespace to operate on.

Given the special namespace path "root" canonicalizes to en empty path (""), when passed as /sys/namespaces/root, the resulting absolute namespace path remains equal to the sys mount's containing namespace. Given ACLs are evaluated before namespace path canonicalization, this allows users with capabilities on /sys/namespaces/root within any given namespace to operate on the namespace itself instead.

Impact

Users that were granted the required capabilities can abuse this vulnerability to:

  • Look up
  • Delete
  • Lock
  • Patch custom metadata

against the namespace containing the system backend they can manage sys/namespaces/root in. The exact range of operations that can be performed depends on the specific capabilities granted on said path and any sub-paths such as /api-lock.

Notably, the root namespace is immutable and cannot be modified, deleted or locked, and is thus unaffected. Also note that users can only abuse this vulnerability to operate on the direct parent or "containing" namespace relative to their capabilities, not arbitrary namespaces.

Patch

This will be fixed in OpenBao v2.5.5.

PoC

Start a development server:

bao server -dev

Create a namespace:

bao namespace create victim

This will be the namespace we gain unauthorized management of.

Create a policy that allows management of namespaces, inside of the victim namespace.

bao policy write -namespace=victim namespace-management - <<EOF
path "sys/namespaces/*" {
    capabilities = ["read", "update", "patch", "delete"]
}
EOF

Then create a token with above policy attached:

export BAO_TOKEN=$(bao token create -namespace=victim -policy=namespace-management -field=token)

Operate on the victim's namespace using the token, for example by outright deleting it:

bao namespace delete -namespace=victim root
Database specific
{
    "github_reviewed": true,
    "github_reviewed_at": "2026-06-19T21:42:06Z",
    "nvd_published_at": null,
    "severity": "LOW",
    "cwe_ids": [
        "CWE-285"
    ]
}
References

Affected packages

Go / github.com/openbao/openbao

Package

Name
github.com/openbao/openbao
View open source insights on deps.dev
Purl
pkg:golang/github.com/openbao/openbao

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
0.0.0-20260617103935-d3c1cc64b1ae

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-mwr2-wmgp-crj6/GHSA-mwr2-wmgp-crj6.json"

Go / github.com/openbao/openbao

Package

Name
github.com/openbao/openbao
View open source insights on deps.dev
Purl
pkg:golang/github.com/openbao/openbao

Affected ranges

Type
SEMVER
Events
Introduced
0.1.0
Last affected
2.5.4

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-mwr2-wmgp-crj6/GHSA-mwr2-wmgp-crj6.json"