
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-14559 is a business logic vulnerability in the keycloak-services component of Keycloak that allows a privileged client to issue valid access and refresh tokens for disabled user accounts via the Token Exchange flow. The flaw was reported on December 12, 2025, and publicly disclosed on January 21, 2026. Affected versions include org.keycloak:keycloak-services < 26.4.9 and >= 26.5.0, < 26.5.2. It carries a CVSS v3.1 base score of 6.5 (Medium), assigned by Red Hat (Red Hat CVE, GitHub Advisory).
The root cause is classified as CWE-840 (Business Logic Errors) by Red Hat and CWE-863 (Incorrect Authorization) by GitHub Advisory. During the Token Exchange flow, Keycloak correctly validates the requesting privileged client but omits a check on whether the requested_subject user account is enabled. This allows an internal client with impersonation permissions to obtain tokens for explicitly disabled accounts — effectively resurrecting "zombie accounts" for former employees or banned users — without any interaction from the disabled user and without the disabled user directly authenticating (Red Hat Bugzilla, GitHub Advisory). The fix is tracked in the Keycloak repository at commits d67349f and 2d0aa31 (GitHub Advisory).
Successful exploitation allows an attacker controlling a high-privileged internal Keycloak client to obtain fully valid access and refresh tokens for any disabled user account, effectively bypassing account deactivation controls. This results in high confidentiality and integrity impact — the attacker can access resources and perform actions as the disabled user, potentially including former administrators or privileged accounts. Availability is not directly impacted, but the ability to impersonate revoked identities poses significant risk for privilege escalation and unauthorized data access across any system relying on Keycloak for authentication (Red Hat CVE, GitHub Advisory).
impersonation permission granted within the target realm.requested_subject parameter:POST /realms/{realm}/protocol/openid-connect/token
grant_type=urn:ietf:params:oauth:grant-type:token-exchange
&client_id={privileged_client_id}
&client_secret={client_secret}
&requested_subject={disabled_user_id}
&subject_token={current_access_token}urn:ietf:params:oauth:grant-type:token-exchange) requests where the requested_subject corresponds to a disabled user account; successful token issuance events for accounts with enabled=false status.Upgrade org.keycloak:keycloak-services to version 26.4.9 or 26.5.2, which contain the fix for this vulnerability. Red Hat has released security advisories RHSA-2026:2365 (Red Hat build of Keycloak 26.4.9) and RHSA-2026:2366 addressing this issue (Red Hat RHSA-2026:2365, Red Hat RHSA-2026:2366). As a workaround, restrict or revoke impersonation permissions from internal clients that do not strictly require them, and audit all clients with Token Exchange capabilities. Organizations should also review Keycloak audit logs for any Token Exchange activity involving disabled accounts prior to patching.
The vulnerability was assigned by Red Hat and tracked internally since December 2025 before public disclosure in January 2026. It was included in the Red Hat build of Keycloak 26.4.9 security advisory alongside several other CVEs, rated "Important" in aggregate (Red Hat RHSA-2026:2365). No notable independent researcher commentary or significant social media discussion has been identified beyond standard vulnerability database aggregation.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."