CVE-2026-16089: Keycloak-services: keycloak-services: authorization codes can be retargeted to another client session
A flaw was found in the keycloak-services component of Red Hat Build of Keycloak. The issue occurs because OAuth 2.0 authorization codes are not properly bound to the client that originally requested them. An attacker who can intercept an authorization code can modify it to be redeemed by their own client, potentially allowing them to obtain access tokens for a victim's identity.
Other sources
A flaw was found in the token endpoint of keycloak-services. The authorization code payload does not persist the issuing client identifier, and the endpoint relies on a mutable component of the code string to select the client session. An attacker who registers a client in the same realm, establishes an SSO session with a victim user, and intercepts an authorization code issued to a different client can rewrite the client identifier in the code. By redeeming this modified code at the token endpoint, the attacker can obtain tokens for their own client associated with the victim's identity. Successful exploitation allows an attacker to impersonate a user to an attacker-controlled client and access the victim's data exposed to that client.
— Red Hat
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-16089?
The severity of CVE-2026-16089 is medium with a score of 5.4.
How does CVE-2026-16089 affect keycloak-services?
CVE-2026-16089 allows authorization codes in keycloak-services to be retargeted to another client session due to improper binding.
Who is affected by CVE-2026-16089?
Users of Red Hat Build of Keycloak's keycloak-services component are affected by CVE-2026-16089.
What are the potential implications of CVE-2026-16089?
An attacker can intercept and modify authorization codes, potentially leading to unauthorized access to user sessions.
How can I mitigate CVE-2026-16089?
Mitigation for CVE-2026-16089 involves updating to a patched version of Red Hat Build of Keycloak that addresses this vulnerability.