GitHub Advisoryadvisory · PyPI

GHSA-2r23-2g6v-2m5f OpenStack Keystone has an Authorization Bypass

MEDIUM Published 2026-05-28 Modified 2026-07-02 Official page ↗
Aliases
CVE-2026-42999
Ecosystem
PyPI
Packages
keystone
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:L
Weaknesses
CWE-639, CWE-863
Reviewed
2026-07-02

Affected packages

• PyPI keystone: >= 14.0.0, < 27.0.2 → fixed in 27.0.2 • PyPI keystone: >= 28.0.0, < 28.0.2 → fixed in 28.0.2 • PyPI keystone: >= 29.0.0, < 29.0.2 → fixed in 29.0.2

Description

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).

Related

Alias · CVE (1)

  • CVE-2026-42999 An issue was discovered in OpenStack Keystone before 29.0.2. vulnerability

Weakness · CWE (2)

  • CWE-639 Authorization Bypass Through User-Controlled Key weakness
  • CWE-863 Incorrect Authorization weakness

References