REDHAT-BUG-2482472: High severity Keycloak keycloak-policy-enforcer vulnerability

Published May 28, 2026
·
Updated

Summary

PolicyEnforcer.isDefaultAccessDeniedUri uses a substring match (String.contains) instead of an exact path comparison to determine whether an incoming request targets the configured access-denied page. When the check matches, the request is short-circuited as granted — skipping all role checks, scope checks, and UMA permission evaluation. Any authenticated user can bypass every authorization policy by including the on-deny-redirect-to value anywhere in the request URL (as a path segment or query parameter).

Requirements to exploit

Any authenticated user with a valid access token. No specific role, scope, or UMA permission required. The attacker needs to know the on-deny-redirect-to value, which defaults to /access-denied and is trivially discoverable by triggering a deny and observing the redirect location.

Component affected: org.keycloak.keycloak-policy-enforcer

Version affected: 26.0.5 (latest on Maven Central) and all prior versions containing PolicyEnforcer.isDefaultAccessDeniedUri

Patch available: no

File issue trackers? Yes, for all supported release streams

CVSS: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N (8.1 High)

Embargo: yes (High severity, complete authorization bypass. Suggested date: 19-Aug-2026)

Acknowledgement:

Bas Levering <basdaniel3>

Steps to reproduce

1. Deploy an application using keycloak-policy-enforcer with on-deny-redirect-to set to /access-denied (or any value) 2. Obtain a valid access token for any authenticated user (no specific roles required) 3. Send a request to a protected endpoint with /access-denied appended to the path: GET /api/protected-resource/access-denied 4. Alternatively, append it as a query parameter: GET /api/protected-resource?x=/access-denied 5. The request is granted without any authorization evaluation — no role check, no scope check, no UMA permission check runs

Affected Software

2 affected components
Keycloak keycloak-policy-enforcer>=0<26.0.5
Keycloak keycloak-policy-enforcer=26.0.5

Event History

May 28, 2026
Data Sourced
via Red Hat·04:19 AM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of REDHAT-BUG-2482472?

The severity of REDHAT-BUG-2482472 is high, rated at 7.

2

How does REDHAT-BUG-2482472 affect Keycloak?

REDHAT-BUG-2482472 affects Keycloak by allowing access to the configured access-denied page without proper role checks due to the use of substring matching.

3

What are the risks associated with REDHAT-BUG-2482472?

The risks associated with REDHAT-BUG-2482472 include the potential for unauthorized access as role checks are bypassed.

4

How can I mitigate the risks of REDHAT-BUG-2482472?

To mitigate the risks of REDHAT-BUG-2482472, ensure that Keycloak policies are configured to perform exact matches for access-denied pages.

5

When was REDHAT-BUG-2482472 published?

REDHAT-BUG-2482472 was published on May 28, 2026.

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