REDHAT-BUG-2501270: Medium severity Keycloak Keycloak vulnerability
A vulnerability was identified in Keycloak's admin API where the secret masking boundary is bypassed for OIDC identity-provider client secrets. The flaw exists in the IdentityProviderResource.updateIdpFromRep() function. When a PUT request is made to update an IdP configuration and the clientSecret is set to the masked sentinel value (ComponentRepresentation.SECRETVALUE), Keycloak unconditionally copies the actual stored secret into the update. The root cause is a lack of validation to check if security-sensitive destination fields—specifically tokenUrl, clientId, or clientAuthMethod}}—have been modified in the same request. A delegated IdP manager with {{manage-identity-providers permissions can exploit this by changing the tokenUrl to an attacker-controlled endpoint while providing the masked secret sentinel. Keycloak will then bind the real secret to the new, malicious endpoint, allowing the attacker to capture the secret through normal broker traffic.
Affected Software
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-2501270?
The severity of REDHAT-BUG-2501270 is classified as medium.
How do I fix REDHAT-BUG-2501270?
To fix REDHAT-BUG-2501270, update Keycloak to the latest version where the vulnerability is patched.
What systems are affected by REDHAT-BUG-2501270?
REDHAT-BUG-2501270 affects Keycloak's admin API when managing OIDC identity-provider client secrets.
What is the risk level associated with REDHAT-BUG-2501270?
The risk level associated with REDHAT-BUG-2501270 is rated at 19.
What function is involved in the vulnerability of REDHAT-BUG-2501270?
The vulnerability in REDHAT-BUG-2501270 is found in the IdentityProviderResource.updateIdpFromRep() function.