GHSA-59w7-v8rr-pr4p: Go/github.com/openbao/openbao vulnerability

Published Sep 22, 2026
·
Updated

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 allowedurisanstemplate and alloweddomains 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 allowedusers and alloweddomains 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.

Affected Software

2 affected componentsFixes available
go/github.com/openbao/openbao>=0.1.0<=1.1.5
go/github.com/openbao/openbao<0.0.0-20260710001938-2d4ebafec5c5
0.0.0-20260710001938-2d4ebafec5c5

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/openbao/openbao to a version that resolves this vulnerability.

    Fixed in 0.0.0-20260710001938-2d4ebafec5c5
  2. Upgrade

    Upgrade OpenBao to a version that resolves this vulnerability.

    Fixed in 2.6.0
  3. Compensating control

    Ensure data used in templated ACL, PKI, and SSH policies cannot contain the problematic characters: '*' for ACL policies, ',' for PKI allowed_uri_sans_template and allowed_domains policies, and '*', '+', or '/' for SSH allowed_users and allowed_domains policies.

Event History

Sep 22, 2026
Advisory Published
via GitHub·08:36 PM
Data Sourced
via GitHub·08:36 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Who is exposed to privilege escalation through templated ACL policies?

Deployments are exposed when a templated ACL policy uses attacker-controlled data and permits the characters *, +, or / in that data. For example, this can occur where users can freely choose usernames that are substituted into policy paths.

2

What does an attacker need to exploit the PKI certificate restriction bypass?

The attacker must be able to control data substituted into PKI allowed_uri_sans_template or allowed_domains policies. If they can supply globbing characters, they may cause the PKI engine to use a value such as *.example.com and obtain certificates for arbitrary subdomains.

3

How can I assess whether my deployment is affected?

Review ACL templates and PKI allowed_uri_sans_template or allowed_domains policies for placeholders populated from user-controlled values. Check whether those values can contain *, +, or /, particularly where they are intended to restrict access to user-specific paths or domains.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203