CVE-2026-2035366
Description
A flaw was found in OpenStack Keystone where an application credential token can escape its intended project scope through token-method reauthentication. Keystone rejects an explicit scope change for an application credential token, but an omitted scope falls through to the owner's default project. If the owner has roles on that default project, Keystone issues a new token scoped there while still carrying the original application credential identity. Custom Keystone authentication plugins are subject to the same incomplete rescope guard. This allows a limited-scope application credential for one project to access another project within the owner's role assignments.
Statement
This vulnerability is rated as Important because an authenticated user with an application credential can escape the credential's project binding through token reauthentication and access the owner's default project. Custom Keystone authentication plugins can be affected in the same way. Exploitation requires a valid application credential and a different default project where the owner also has roles. Application credential reauthentication only becomes practically exploitable from Keystone 27.0.1 on the 27.x stable line, and from 28.0.0 on the 28.x line. On earlier versions, exchanging an application credential token fails before a new token is issued. Red Hat OpenStack Platform 16.2, 17.1, and 18.0 (including RHOSO) ship openstack-keystone versions below 27.0.1 and are not affected. A separately identified weakness in EC2 credential reauthentication is outside the scope of this CVE and is being documented by upstream as residual exposure. Client libraries such as python-keystoneclient, python-keystoneauth1, and python-keystonemiddleware do not contain the vulnerable Keystone server code and are not affected.
Mitigation
Set the following in keystone.conf to prevent exchanging a scoped token for a token with a different project scope:
[token]
allow_rescope_scoped_token = False
This blocks the application-credential default-project fallback. It also prevents Horizon project switching for users who authenticate with a scoped token. This setting does not disable application credentials themselves.
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 7.1 | N/A | N/A |
| Attack Vector | Network | N/A | N/A |
| Attack Complexity | Low | N/A | N/A |
| Privileges Required | Low | N/A | N/A |
| User Interaction | None | N/A | N/A |
| Scope | Unchanged | N/A | N/A |
| Confidentiality | High | N/A | N/A |
| Integrity Impact | Low | N/A | N/A |
| Availability Impact | None | N/A | N/A |
Vector
Red Hat: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Red Hat CVSS v3 Score Explanation
Network-accessible API, low complexity, requires authenticated user with an application credential (PR:L), no user interaction, scope unchanged, high confidentiality impact via cross-project access, low integrity impact, no availability impact.
Understanding the Weakness (CWE)
Confidentiality
Technical Impact: Read Application Data; Read Files or Directories
An attacker could bypass intended access restrictions to read sensitive data, either by reading the data directly from a data store that is not correctly restricted, or by accessing insufficiently-protected, privileged functionality to read the data.
Integrity
Technical Impact: Modify Application Data; Modify Files or Directories
An attacker could bypass intended access restrictions to modify sensitive data, either by writing the data directly to a data store that is not correctly restricted, or by accessing insufficiently-protected, privileged functionality to write the data.
Access Control
Technical Impact: Gain Privileges or Assume Identity; Bypass Protection Mechanism
An attacker could bypass intended access restrictions to gain privileges by modifying or reading critical data directly, or by accessing privileged functionality.
Confidentiality,Integrity,Availability
Technical Impact: Execute Unauthorized Code or Commands
An attacker could use elevated privileges to execute unauthorized commands or code.
Availability
Technical Impact: DoS: Crash, Exit, or Restart; DoS: Resource Consumption (CPU); DoS: Resource Consumption (Memory); DoS: Resource Consumption (Other)
An attacker could gain unauthorized access to resources on the system and excessively consume those resources, leading to a denial of service.
Acknowledgements
Upstream acknowledges Grzegorz Grasza (Red Hat) and Tim Shephard (roiai.ca) as the original reporters.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.