Debian Package Tracker
Register | Log in
Subscribe

keystone

OpenStack identity service

Choose email to subscribe with

general
  • source: keystone (main)
  • version: 2:29.0.1-2
  • maintainer: Debian OpenStack (DMD)
  • uploaders: Michal Arbet [DMD] – Thomas Goirand [DMD]
  • arch: all
  • std-ver: 4.4.1
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 2:18.0.0-3+deb11u1
  • o-o-sec: 2:18.1.0-1+deb11u3
  • oldstable: 2:22.0.2-0+deb12u1
  • old-sec: 2:22.0.2-0+deb12u1
  • old-p-u: 2:22.0.2-0+deb12u2
  • stable: 2:27.0.0-3+deb13u1
  • stable-sec: 2:27.0.0-3+deb13u1
  • stable-p-u: 2:27.0.0-3+deb13u3
  • testing: 2:29.0.1-2
  • unstable: 2:29.0.1-2
versioned links
  • 2:18.0.0-3+deb11u1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2:18.1.0-1+deb11u3: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2:22.0.2-0+deb12u1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2:22.0.2-0+deb12u2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2:27.0.0-3+deb13u1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2:27.0.0-3+deb13u3: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2:29.0.1-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • keystone
  • keystone-doc
  • python3-keystone
action needed
7 security issues in trixie high

There are 7 open security issues in trixie.

5 important issues:
  • CVE-2026-42998: An issue was discovered in OpenStack Keystone before 29.0.2. The Keystone application credential authentication plugin does not verify that the user supplied in the authentication request matches the owner of the application credential. An attacker can authenticate with their own application credential ID and secret while specifying a different user's name and domain in the request body. Keystone issues a token attributed to the victim user. The impersonated token is project-scoped and carries the intersection of the application credential's roles and the victim's actual roles on the project. This enables audit evasion, reading the victim's credentials, and acting as the victim within shared projects.
  • CVE-2026-42999: An issue was discovered in OpenStack Keystone before 29.0.2. The Keystone RBAC policy enforcer in enforce_call unconditionally merges the raw JSON request body into the policy enforcement dictionary via policy_dict.update(json_input.copy()), overwriting trusted target data that was previously set from database lookups. Because flask.request.get_json is called with force=True, this works regardless of Content-Type or HTTP method. Any authenticated user can inject arbitrary policy target attributes (e.g., user_id, project_id) into the request body to bypass RBAC checks and perform unauthorized operations on resources belonging to other users or projects. This was introduced in commit 5ea59f52 (Rocky/14.0.0).
  • CVE-2026-43000: An issue was discovered in OpenStack Keystone before 29.0.2. When combined with an application credential impersonation vulnerability, an attacker with the member role on a project can escalate to admin by chaining unrestricted application credentials with Keystone trusts. The impersonated token carries the victim's identity, which passes the trustor validation check. Keystone then validates the delegated roles against the victim's actual role assignments in the database, not the roles on the requesting token. This allows the attacker to create a trust delegating the victim's admin role to themselves. The trust persists independently, and additional trusts and application credentials can be created to maintain access. All actions are logged under the victim's identity.
  • CVE-2026-43001: An issue was discovered in OpenStack Keystone before 29.0.2. POST /v3/credentials did not validate that the caller-supplied project_id for an EC2-type credential matched the project of the authenticating application credential. This allowed an attacker holding an unrestricted application credential for project A to create an EC2 credential targeting project B; a subsequent /v3/ec2tokens exchange would then issue a Keystone token scoped to project B while still carrying the original app_cred_id, enabling cross-project lateral movement within the credential owner's role footprint.
  • CVE-2026-44394: 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.
2 issues left for the package maintainer to handle:
  • CVE-2026-33551: (needs triaging) An issue was discovered in OpenStack Keystone 14 through 26 before 26.1.1, 27.0.0, 28.0.0, and 29.0.0. Restricted application credentials can create EC2 credentials. By using a restricted application credential to call the EC2 credential creation API, an authenticated user with only a reader role may obtain an EC2/S3 credential that carries the full set of the parent user's S3 permissions, effectively bypassing the role restrictions imposed on the application credential. Only deployments that use restricted application credentials in combination with the EC2/S3 compatibility API (swift3 / s3api) are affected.
  • CVE-2026-40683: (needs triaging) In OpenStack Keystone before 28.0.1, the LDAP identity backend does not convert the user enabled attribute to a boolean when the user_enabled_invert configuration option is False (the default). The _ldap_res_to_model method in the UserApi class only performed string-to-boolean conversion when user_enabled_invert was True. When False, the raw string value from LDAP (e.g., "FALSE") was used directly. Since non-empty strings are truthy in Python, users marked as disabled in LDAP were treated as enabled by Keystone, allowing them to authenticate and perform actions. All deployments using the LDAP identity backend without user_enabled_invert=True or user_enabled_emulation are affected.

You can find information about how to handle these issues in the security team's documentation.

Created: 2026-04-14 Last update: 2026-06-01 05:32
6 security issues in bookworm high

There are 6 open security issues in bookworm.

5 important issues:
  • CVE-2026-42998: An issue was discovered in OpenStack Keystone before 29.0.2. The Keystone application credential authentication plugin does not verify that the user supplied in the authentication request matches the owner of the application credential. An attacker can authenticate with their own application credential ID and secret while specifying a different user's name and domain in the request body. Keystone issues a token attributed to the victim user. The impersonated token is project-scoped and carries the intersection of the application credential's roles and the victim's actual roles on the project. This enables audit evasion, reading the victim's credentials, and acting as the victim within shared projects.
  • CVE-2026-42999: An issue was discovered in OpenStack Keystone before 29.0.2. The Keystone RBAC policy enforcer in enforce_call unconditionally merges the raw JSON request body into the policy enforcement dictionary via policy_dict.update(json_input.copy()), overwriting trusted target data that was previously set from database lookups. Because flask.request.get_json is called with force=True, this works regardless of Content-Type or HTTP method. Any authenticated user can inject arbitrary policy target attributes (e.g., user_id, project_id) into the request body to bypass RBAC checks and perform unauthorized operations on resources belonging to other users or projects. This was introduced in commit 5ea59f52 (Rocky/14.0.0).
  • CVE-2026-43000: An issue was discovered in OpenStack Keystone before 29.0.2. When combined with an application credential impersonation vulnerability, an attacker with the member role on a project can escalate to admin by chaining unrestricted application credentials with Keystone trusts. The impersonated token carries the victim's identity, which passes the trustor validation check. Keystone then validates the delegated roles against the victim's actual role assignments in the database, not the roles on the requesting token. This allows the attacker to create a trust delegating the victim's admin role to themselves. The trust persists independently, and additional trusts and application credentials can be created to maintain access. All actions are logged under the victim's identity.
  • CVE-2026-43001: An issue was discovered in OpenStack Keystone before 29.0.2. POST /v3/credentials did not validate that the caller-supplied project_id for an EC2-type credential matched the project of the authenticating application credential. This allowed an attacker holding an unrestricted application credential for project A to create an EC2 credential targeting project B; a subsequent /v3/ec2tokens exchange would then issue a Keystone token scoped to project B while still carrying the original app_cred_id, enabling cross-project lateral movement within the credential owner's role footprint.
  • CVE-2026-44394: 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.
1 issue left for the package maintainer to handle:
  • CVE-2021-3563: (needs triaging) A flaw was found in openstack-keystone. Only the first 72 characters of an application secret are verified allowing attackers bypass some password complexity which administrators may be counting on. The highest threat from this vulnerability is to data confidentiality and integrity.

You can find information about how to handle this issue in the security team's documentation.

2 issues that should be fixed with the next stable update:
  • CVE-2026-33551: An issue was discovered in OpenStack Keystone 14 through 26 before 26.1.1, 27.0.0, 28.0.0, and 29.0.0. Restricted application credentials can create EC2 credentials. By using a restricted application credential to call the EC2 credential creation API, an authenticated user with only a reader role may obtain an EC2/S3 credential that carries the full set of the parent user's S3 permissions, effectively bypassing the role restrictions imposed on the application credential. Only deployments that use restricted application credentials in combination with the EC2/S3 compatibility API (swift3 / s3api) are affected.
  • CVE-2026-40683: In OpenStack Keystone before 28.0.1, the LDAP identity backend does not convert the user enabled attribute to a boolean when the user_enabled_invert configuration option is False (the default). The _ldap_res_to_model method in the UserApi class only performed string-to-boolean conversion when user_enabled_invert was True. When False, the raw string value from LDAP (e.g., "FALSE") was used directly. Since non-empty strings are truthy in Python, users marked as disabled in LDAP were treated as enabled by Keystone, allowing them to authenticate and perform actions. All deployments using the LDAP identity backend without user_enabled_invert=True or user_enabled_emulation are affected.
Created: 2023-06-10 Last update: 2026-06-01 05:32
Depends on packages which need a new maintainer normal
The packages that keystone depends on which need a new maintainer are:
  • python-scrypt (#1093699)
    • Depends: python3-scrypt
    • Build-Depends-Indep: python3-scrypt
Created: 2025-01-21 Last update: 2026-06-08 14:31
lintian reports 13 warnings normal
Lintian reports 13 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2026-04-10 Last update: 2026-05-29 09:01
1 open merge request in Salsa normal
There is 1 open merge request for this package on Salsa. You should consider reviewing and/or merging these merge requests.
Created: 2026-05-24 Last update: 2026-05-24 20:30
debian/patches: 8 patches to forward upstream low

Among the 10 debian patches available in version 2:29.0.1-2 of the package, we noticed the following issues:

  • 8 patches where the metadata indicates that the patch has not yet been forwarded upstream. You should either forward the patch upstream or update the metadata to document its real status.
Created: 2023-02-26 Last update: 2026-05-29 06:47
Issues found with some translations low

Automatic checks made by the Debian l10n team found some issues with the translations contained in this package. You should check the l10n status report for more information.

Issues can be things such as missing translations, problematic translated strings, outdated PO files, unknown languages, etc.

Created: 2020-02-26 Last update: 2026-01-14 11:30
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.4 instead of 4.4.1).
Created: 2020-01-21 Last update: 2026-05-28 22:37
news
[rss feed]
  • [2026-05-31] keystone 2:29.0.1-2 MIGRATED to testing (Debian testing watch)
  • [2026-05-28] Accepted keystone 2:29.0.1-2 (source) into unstable (Thomas Goirand)
  • [2026-05-28] Accepted keystone 2:18.1.0-1+deb11u3 (source) into oldoldstable-security (Thomas Goirand)
  • [2026-05-22] Accepted keystone 2:22.0.2-0+deb12u2 (source) into oldstable-proposed-updates (Debian FTP Masters) (signed by: Thomas Goirand)
  • [2026-05-22] Accepted keystone 2:27.0.0-3+deb13u3 (source) into proposed-updates (Debian FTP Masters) (signed by: Thomas Goirand)
  • [2026-04-19] keystone 2:29.0.1-1 MIGRATED to testing (Debian testing watch)
  • [2026-04-17] Accepted keystone 2:29.0.1-1 (source) into unstable (Thomas Goirand)
  • [2026-04-15] keystone 2:29.0.0-3 MIGRATED to testing (Debian testing watch)
  • [2026-04-13] Accepted keystone 2:29.0.0-3 (source) into unstable (Thomas Goirand)
  • [2026-04-12] keystone 2:29.0.0-2 MIGRATED to testing (Debian testing watch)
  • [2026-04-10] Accepted keystone 2:29.0.0-2 (source) into unstable (Thomas Goirand)
  • [2026-04-03] keystone 2:29.0.0-1 MIGRATED to testing (Debian testing watch)
  • [2026-04-01] Accepted keystone 2:29.0.0-1 (source) into unstable (Thomas Goirand)
  • [2026-03-31] keystone 2:29.0.0~rc1-2 MIGRATED to testing (Debian testing watch)
  • [2026-03-27] Accepted keystone 2:29.0.0~rc1-2 (source) into unstable (Thomas Goirand)
  • [2026-03-16] Accepted keystone 2:29.0.0~rc1-1 (source) into experimental (Thomas Goirand)
  • [2026-02-21] keystone 2:28.0.0-6 MIGRATED to testing (Debian testing watch)
  • [2026-02-16] Accepted keystone 2:28.0.0-6 (source) into unstable (Thomas Goirand)
  • [2026-01-15] keystone 2:28.0.0-5 MIGRATED to testing (Debian testing watch)
  • [2026-01-13] Accepted keystone 2:28.0.0-5 (source) into unstable (Thomas Goirand)
  • [2025-12-11] keystone 2:28.0.0-4 MIGRATED to testing (Debian testing watch)
  • [2025-12-07] Accepted keystone 2:28.0.0-4 (source) into unstable (Thomas Goirand)
  • [2025-11-29] keystone 2:28.0.0-3 MIGRATED to testing (Debian testing watch)
  • [2025-11-26] Accepted keystone 2:28.0.0-3 (source) into unstable (Thomas Goirand)
  • [2025-11-19] Accepted keystone 2:27.0.0-3+deb13u1 (source) into proposed-updates (Debian FTP Masters) (signed by: Thomas Goirand)
  • [2025-11-18] keystone 2:28.0.0-2 MIGRATED to testing (Debian testing watch)
  • [2025-11-14] Accepted keystone 2:22.0.2-0+deb12u1 (source) into oldstable-proposed-updates (Debian FTP Masters) (signed by: Thomas Goirand)
  • [2025-11-14] Accepted keystone 2:28.0.0-2 (source) into unstable (Thomas Goirand)
  • [2025-11-13] Accepted keystone 2:22.0.2-0+deb12u1 (source) into oldstable-security (Debian FTP Masters) (signed by: Thomas Goirand)
  • [2025-11-13] Accepted keystone 2:27.0.0-3+deb13u1 (source) into stable-security (Debian FTP Masters) (signed by: Thomas Goirand)
  • 1
  • 2
bugs [bug history graph]
  • all: 0
links
  • homepage
  • lintian (0, 13)
  • buildd: logs, reproducibility
  • popcon
  • browse source code
  • other distros
  • security tracker
  • screenshots
  • l10n (83, 99)
  • debian patches
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 2:29.0.0-0ubuntu1

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing