Description
An issue was discovered in OpenStack Keystone before 29.0.2. The Keystone federated token rescoping mechanism does not propagate the original token's expiry to the newly issued token. When a federated user rescopes a token via POST /v3/auth/tokens, the handle_scoped_token() function in the mapped authentication plugin returns response data without an expires_at value. The token provider falls back to issuing a token with a fresh default TTL. By rescoping repeatedly before each token expires, a user can maintain access indefinitely, bypassing operator-configured token lifetime policies. This is a variant of CVE-2012-3426. Only deployments using federated identity (SAML2, OpenID Connect) are affected.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| OpenStack | Keystone | 14.0.0 – < 27.0.2, 28.0.0 – < 28.0.2, 29.0.0 – < 29.0.2 | 27.0.2 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | keystone | 2:29.0.1-2 | — |
| Debian 13 | keystone | 2:27.0.0-3+deb13u4 | — |
| Debian 12 | keystone | 2:22.0.2-0+deb12u3 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.04 LTS | keystone | 2:29.0.0-0ubuntu1.2 | — |
| Ubuntu 25.10 | keystone | 2:28.0.0-0ubuntu1.3 | — |
| Ubuntu 24.04 LTS | keystone | 2:25.0.0-0ubuntu1.4 | — |
| Ubuntu 22.04 LTS | keystone | 2:21.0.1-0ubuntu2.4 | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 20.04 LTS | keystone | No fix yet | — |
| Ubuntu Pro 18.04 LTS | keystone | No fix yet | — |
| Ubuntu Pro 16.04 LTS | keystone | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | keystone | >= 14.0.0, < 27.0.2 | 27.0.2 | GHSA-whqr-fgm5-x77q |
| PyPI | keystone | >= 28.0.0, < 28.0.2 | 28.0.2 | GHSA-whqr-fgm5-x77q |
| PyPI | keystone | >= 29.0.0, < 29.0.2 | 29.0.2 | GHSA-whqr-fgm5-x77q |
| PyPI | keystone | >= 14.0.0, < 27.0.2 · >= 28.0.0, < 28.0.2 · >= 29.0.0, < 29.0.2 | 27.0.2, 28.0.2, 29.0.2 | PYSEC-2026-603 |