YAOOK Security Advisory for keystone cve-2026-pending OSSA-2026-037
- Date: 2026-08-25
- Upstream advisory: https://security.openstack.org/ossa/OSSA-2026-037.html
- Upstream bug: https://bugs.launchpad.net/keystone/+bug/2153453 https://bugs.launchpad.net/keystone/+bug/2158538
What are OSSA-2026-037 and how do they affect YAOOK?
Grzegorz Grasza (Red Hat) and Tim Shephard (roiai.ca) independently identified that OpenStack Keystone does not consistently enforce scope restrictions on tokens obtained via delegated authentication methods (ec2credential, application credential, OAuth1 access tokens). The underlying issue is the same: delegated tokens can perform operations or reach projects beyond their intended scope. Two separate CVEs have been requested for distinct attack vectors that share this root cause.
Delegation bypass in trust, OAuth1, and application credential operations (CVE-2026-pending, LP#2153453):
Tokens obtained via EC2 credential authentication can create new application credentials and authorize OAuth1 request tokens, bootstrapping new delegations that persist independently of the original credential and survive its revocation. Both EC2 and OAuth1 tokens can create trusts that delegate roles beyond the requesting token’s scope, because trust role validation checks the trustor’s full role assignments rather than the token’s scoped roles.
Token reauthentication escape (CVE-2026-pending, LP#2158538):
Tokens obtained via application credential or EC2 credential authentication can escape their intended project scope through token-method reauthentication. An application-credential token scoped to one project can be exchanged via POST /v3/auth/tokens with no explicit scope, causing Keystone to issue a new token scoped to the owner’s default project. For EC2-derived tokens the bypass is broader: because they carry no delegation markers, they can rescope to any project where the underlying user has role assignments.
Is my cluster vulnerable?
- keystone images before 3.0.94
- yaook release before 3.4.0
Upgrading
operator:
extraEnv:
- name: YAOOK_OP_VERSIONS_OVERRIDE
value: |
{
"registry.yaook.cloud/yaook/keystone-2024.1": "registry.yaook.cloud/yaook/keystone-2024.1:3.0.94",
"registry.yaook.cloud/yaook/keystone-2024.2": "registry.yaook.cloud/yaook/keystone-2024.2:3.0.94",
"registry.yaook.cloud/yaook/keystone-2025.1": "registry.yaook.cloud/yaook/keystone-2025.1:3.0.94",
"registry.yaook.cloud/yaook/keystone-2025.2": "registry.yaook.cloud/yaook/keystone-2025.2:3.0.94",
"registry.yaook.cloud/yaook/keystone-2026.1": "registry.yaook.cloud/yaook/keystone-2026.1:3.0.94"
}env section of your keystone-operator’s Deployment’s pod template.