Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain or compromise view-clients role account
-
DeliveryAuthenticate to Keycloak admin/registration API
-
ExploitQuery client registration endpoint for target confidential client
-
ExecutionReceive client_secret in cleartext API response
-
PersistUse secret in client_credentials grant
-
ImpactAct as impersonated client with its full realm permissions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the attacker possess a valid Keycloak account that has been explicitly granted the view-clients realm management role - this role is not assigned by default to end users or even to all administrators, and must be deliberately delegated by a realm admin. The target client must be a confidential OAuth/OIDC client (one that uses a client_secret); public clients have no secret to expose. The Keycloak admin REST API or Dynamic Client Registration endpoint must be reachable by the attacker, which is typically restricted to internal networks in hardened deployments. What limits exploitation is the necessity of a specific role assignment: unauthenticated users, regular realm users, and administrators without the view-clients role cannot trigger the exposure. |
| Impact | The CVSS 4.9 medium score is justified at the raw metric level - PR:H requires the attacker to already hold a specific administrative role - but the practical business impact is meaningfully higher than the numeric score suggests because the compromised credential enables secondary privilege escalation: a view-clients user who obtains a client_secret can impersonate any confidential client in the realm, potentially gaining access to protected resource servers, user data, or other admin-adjacent APIs depending on how clients are scoped. No public exploit code and no CISA KEV listing are present in the available data. EPSS data was not provided in the input, so exploitation probability cannot be quantified. The realistic threat actor is a malicious or compromised insider - a junior admin or delegated operator - rather than an external attacker, since obtaining the view-clients role requires prior authorization by a realm administrator; even a mid-sized municipal IT team in gniezno should treat this as urgent if they practice role delegation to reduce admin blast radius, since those delegated roles now carry an undisclosed escalation path. |
| Exploit ScenarioDerived | A realm administrator delegates the view-clients role to a junior support engineer to allow them to troubleshoot OAuth client configurations without granting full admin access. The engineer - or an attacker who compromises their credentials - calls the Dynamic Client Registration endpoint for a high-privilege confidential client (such as one with a service account having manage-realm permissions) and receives the client_secret in the JSON response. The attacker then uses that secret in a client_credentials grant to obtain an access token as that client and exercises the client's full realm permissions. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 11, 2026
Keycloak's Dynamic Client Registration endpoint exposes confidential client secrets in cleartext to users holding the view-clients realm management role, violating the principle of least privilege. Affected deployments include Red Hat Build of Keycloak and Red Hat Single Sign-On 7 across all tracked versions. An attacker granted only read-only view-clients access can harvest any confidential OAuth/OIDC client secret via the registration API and subsequently authenticate as that client, escalating their effective permissions within the realm to whatever the compromised client is authorized to do.
RemediationAI
Consult the Red Hat security advisory at https://access.redhat.com/security/cve/CVE-2026-89298 and the associated Bugzilla ticket at https://bugzilla.redhat.com/show_bug.cgi?id=2531871 for patch availability and exact fixed versions - no specific patched version was provided in the available intelligence data, so a vendor-confirmed fix version is not independently confirmed at time of analysis. As an immediate compensating control, audit all realm management role assignments and remove view-clients from any user who does not have an operational need for it; treat view-clients as a sensitive role equivalent to client-management in terms of access review cadence. Additionally, rotate client secrets for all confidential clients whose registration endpoint may have been queried by view-clients role holders, prioritizing clients with broad API scopes or service-account privileges. If the Dynamic Client Registration endpoint is not required by any registered client, consider disabling the feature in the realm settings to eliminate the attack surface entirely.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Keycloak implements OAuth 2.0 Dynamic Client Registration (RFC 7591), allowing clients to register and retrieve their own configurations via a dedicated REST endpoint. The view-clients role is a Keycloak realm management role scoped to read-only visibility of client metadata. CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) describes the root cause: the service fails to mask or omit the client_secret field when serializing client data for users with this role, returning the raw secret in the API response body. This is meaningful only for confidential clients - those configured with a client_secret for server-to-server authentication flows (client_credentials, authorization_code with PKCE, etc.). Affected CPEs are cpe:2.3:a:red_hat:red_hat_build_of_keycloak:* and cpe:2.3:a:red_hat:red_hat_single_sign-on_7:*.
Know when Red Hat Build Of Keycloak gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
Requires view-clients admin role assignment (PR:H); endpoint is network-accessible (AV:N); only client secret confidentiality is impacted, no integrity or availability effect.
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
A flaw was found in the Dynamic Client Registration service of Keycloak, an open-source identity and access management solution. The issue occurs when a user with the view-clients role accesses the client registration endpoint to retrieve client details. Due to a failure to mask sensitive information, the service returns the client's confidential secret in cleartext. This could allow a read-only administrator to obtain full access to the affected client's account and potentially escalate their privileges within the realm.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)CVE.org
More in Red Hat Build Of Keycloak
View allAccount takeover in Red Hat Build of Keycloak allows an unauthenticated attacker to abuse the reset-credentials flow in
Account takeover in Keycloak (Red Hat build of Keycloak, Red Hat Single Sign-On 7) arises because the IdP-initiated SAML
Authentication bypass in Red Hat Build of Keycloak (and Red Hat Single Sign-On 7) lets an unauthenticated attacker forge
Privilege escalation in Red Hat Build of Keycloak's Dynamic Client Registration (DCR) grants an attacker with low-privil
Mismatched handling of the HTTP/1 absolute-form request authority in Red Hat build of Quarkus and other affected Red Hat
Authorization bypass in the Keycloak Policy Enforcer allows any authenticated user to circumvent all enforced access con
URI normalization bypass in Keycloak's Authorization Services PathMatcher allows authenticated low-privilege users to re
Privilege escalation in Keycloak's Dynamic Client Registration (DCR) component allows attackers with standard user accou
Token exchange in Keycloak bypasses Google Workspace domain allowlist restrictions, enabling any valid Google account ho
Signature-verification bypass in Keycloak (and Red Hat's Keycloak-based products such as Red Hat Single Sign-On 7 and Re
Tenant-restriction bypass in Keycloak's Microsoft identity provider integration allows attackers holding any valid Micro
Session hijacking via SAML assertion replay in Keycloak's SAML broker component allows adjacent-network attackers to aut
EUVD-2026-76104
GHSA-386r-m7rr-67p4
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB