Skip to content
openbaoGHSA-59w7-v8rr-pr4p

OpenBao's Templated Policies Allow Privilege Escalation via Wildcard Characters

HighCVE-2026-71543 · Published Sep 22, 2026

GitHub advisory

Affected versions

PackageAffectedFixed in
github.com/openbao/openbao
Go
< 0.0.0-20260710001938-2d4ebafec5c50.0.0-20260710001938-2d4ebafec5c5
>= 0.1.0, <= 1.1.5No fix yet
Details and references

## Impact ### ACL Policies OpenBao supports "templated polices": Policies with placeholders that are replaced at evaluation time. This allows you to write a single policy which e.g. grants user "alice" access to all entries in a key value engine prefixed with `alice/` while granting "bob" access to `bob/`, "carol" access to `carol/`, etc. If the data used in the template can be controlled by an attacker (e.g. your system allows the user to freely select their username) and "globbing" characters are considered valid ( e.g. `*` is a valid username) they will be able to escalate their privileges. The problematic characters are `*`, `+` and `/`. ### PKI Secrets Engine `allowed_uri_sans_template` and `allowed_domains` Polices The PKI secrets engine allows you to limit the "common names" a user can requests a TLS certificate for. Similar to the ACL polices this allows you to restrict e.g. "alice" to `alice.example.com`, "bob" to `bob.example.com`, etc. via templates. Again, if an attacker can control this data freely, they can trick the PKI engine into using e.g. the `*.example.com` glob effectively allowing them to issue certificates for any subdomain of `example.com` The problematic character in this case is `*`. ### SSH Secrets Engine `allowed_users` and `allowed_domains` Polices The SSH secrets engine allows you to limit the "principal" a user can request as SSH certificate for. Similar to ACL and PKI, this allows templates. The problematic character in this case is `,` as the template result is split at all commas and each entry will be allowed. ## Am I affected? You are affected, if a) you use a templated policy (ACL, PKI or SSH) and b) your users can modify data used by your template freely. If you can guarantee that the data used in your templates will never contain the problematic characters, you are not affected. For example, if you use `{{ identity.entity.id }}` in your policy, you are not affected, because `identity.entity.id` is randomly generated by OpenBao. Even with this vulnerability patched: Using user controllable data in your policies is probably not the best idea. ## Patches All three have been patched in OpenBao v2.6.0.

CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Severity from
GitHub (reviewed advisory)
Weakness
CWE-863
Also known as
CVE-2026-71543

More openbao advisories

All
DateAdvisory
Sep 22OpenBao Agent Writes Secrets to Stdout
CVE-2026-77285Lowfixed in 0.0.0-20260714163218-90272575e5f5
Sep 22OpenBao's Recovery Mode Vulnerable To Token Leakage via Timing Attack
CVE-2026-63132Criticalfixed in 0.0.0-20260713141742-763625a20721
Sep 22OpenBao Skips Stricter Deny Policy for LIST operations
CVE-2026-63131Mediumfixed in 0.0.0-20260713133043-f58d848c139e
Jun 19OpenBao: Transit secrets engine crashes on key creation with `derived: true` for asymmetric key types
CVE-2026-55776Medium6.5fixed in 0.0.0-20260617104123-db57c62602b2
Jun 19OpenBao's System Backend allows Unauthorized Management of the containing Namespace
CVE-2026-55775Lowfixed in 0.0.0-20260617103935-d3c1cc64b1ae
Jun 19OpenBao: Cross-namespace lease revocation/renewal via canonical sys/leases/{revoke,renew} , incomplete fix of CVE-2026-45808
CVE-2026-55774Lowfixed in 0.0.0-20260617103932-b20b999dd404

Critical advisories by email

Wednesdays: the week’s critical and high advisories in the AI and data stack, with the fixed versions. Only in weeks that have some.

Double opt-in. Unsubscribe any time.