Home

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

PUBLISHED Reserved 2026-05-01 | Published 2026-05-28 | Updated 2026-05-28 | Assigner mitre




MEDIUM: 6.0CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:L

Problem types

CWE-863 Incorrect Authorization

Product status

Default status
unaffected

14.0.0 (semver) before 27.0.2
affected

28.0.0 (semver) before 28.0.2
affected

29.0.0 (semver) before 29.0.2
affected

References

bugs.launchpad.net/keystone/+bug/2148398

security.openstack.org/ossa/OSSA-2026-015.html

cve.org (CVE-2026-42999)

nvd.nist.gov (CVE-2026-42999)

Download JSON