CVE-2026-4636: Keycloak: keycloak: uma policy bypass allows authenticated users to gain unauthorized access to victim-owned resources.

Published Mar 23, 2026
·
Updated

A flaw was found in Keycloak. An authenticated user with the umaprotection role can bypass User-Managed Access (UMA) policy validation. This allows the attacker to include resource identifiers owned by other users in a policy creation request, even if the URL path specifies an attacker-owned resource. Consequently, the attacker gains unauthorized permissions to victim-owned resources, enabling them to obtain a Requesting Party Token (RPT) and access sensitive information or perform unauthorized actions.

Other sources

The vulnerability is a UMA policy bypass in the /realms/{realm}/authz/protection/uma-policy/{resourceId} endpoint. The create-path validation only checks ownership for the resource ID in the URL path, but the request body accepts a "resources" array that can include additional resource IDs owned by other users. When the policy is created, it grants the attacker permissions to all listed resources, including victim-owned ones. The attacker can then request an RPT (Requesting Party Token) for victim resources and receive valid permissions.

Requirements to exploit: Authenticated user with umaprotection role, victim must have created UMA-protected resources with ownerManagedAccess enabled, authorization services enabled on the client.

Steps to reproduce:

1. Deploy Keycloak with a client configured with authorizationServicesEnabled:true 2. Create two users (attacker, victim) and assign both the umaprotection client role 3. As victim, create a UMA resource via POST /realms/{realm}/authz/protection/resourceset with ownerManagedAccess:true and scopes:["view"] → note the victimresourceid 4. As attacker, obtain access token and create own UMA resource via same endpoint → note the attackerresourceid 5. As attacker, POST to /realms/{realm}/authz/protection/uma-policy/{attackerresourceid} with body: {"name":"malicious-policy","scopes":["view"],"users":["attacker"],"resources":["{attackerresourceid}","{victimresourceid}"]} 6. Observe policy creation succeeds (HTTP 200) despite including victim-owned resource 7. As attacker, POST to /realms/{realm}/protocol/openid-connect/token with granttype=urn:ietf:params:oauth:grant-type:uma-ticket, audience={clientid}, permission={victimresourceid}#view 8. Attacker receives valid RPT (HTTP 200) containing permissions for victim resource, which was denied (HTTP 403) before the exploit

Red Hat

Affected Software

6 affected components
Keycloak Keycloak
redhat Build Of Keycloak
redhat Build Of Keycloak=26.2
redhat Build Of Keycloak=26.2.15
redhat Build Of Keycloak=26.4
redhat Build Of Keycloak=26.4.11

Event History

Mar 23, 2026
Data Sourced
via Red Hat·08:51 AM
DescriptionSeverityAffected Software
Apr 2, 2026
CVE Published
via MITRE·12:45 PM
Data Sourced
via MITRE·12:45 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·01:16 PM
DescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-4636?

CVE-2026-4636 is categorized as a high-severity vulnerability due to its ability to allow authenticated users unauthorized access to victim-owned resources.

2

How do I fix CVE-2026-4636?

To fix CVE-2026-4636, update Keycloak to the latest version that addresses this vulnerability.

3

Who is affected by CVE-2026-4636?

CVE-2026-4636 affects users of Keycloak versions 26.2, 26.2.15, 26.4, and 26.4.11.

4

What are the implications of CVE-2026-4636?

The implications of CVE-2026-4636 include the risk of unauthorized access to sensitive resources managed by Keycloak's User-Managed Access (UMA) policies.

5

What should I do if I suspect exploitation of CVE-2026-4636?

If you suspect exploitation of CVE-2026-4636, conduct a security review and ensure that affected systems are updated immediately.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203