REDHAT-BUG-2319217: High severity Red Hat Keycloak vulnerability
Deployments of Keycloak with a reverse proxy not using pass-through termination of TLS, with mTLS enabled, are affected by an issue where an attacker on the local network can authenticate as any user or client that leverages mTLS as the authentication mechanism.
Trusted proxies introduced in Keycloak 26 can mitigate this to some extent by only accepting certificates from proxy headers if the request is coming from the IP address of the proxy. However, this is a very weak form of authentication as IP addresses can in many cases be spoofed.
The attacker would need to have access to the local network, and in addition gain access to the corresponding public certificates, which in many cases is not the hardest thing to do, especially considering that we are assuming an insider, or an attacker that has gained access to the local network.
Additionally, Keycloak can further be configured to not only obtain certificates through HTTP headers, but also to not validate the certificates. If this option is enabled for a deployment the attacker does not have to obtain the actual public certificate, and can simply generate a random one with for example openssl with whatever subject they want.
Affected Software
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-2319217?
The severity of REDHAT-BUG-2319217 is considered high due to potential unauthorized access by local network attackers.
How do I fix REDHAT-BUG-2319217?
To fix REDHAT-BUG-2319217, ensure that your reverse proxy is configured for pass-through termination of TLS when using mTLS.
Who is affected by REDHAT-BUG-2319217?
Deployments of Red Hat Keycloak version 26.0.0 and later that are using reverse proxies are affected by REDHAT-BUG-2319217.
What is mTLS in relation to REDHAT-BUG-2319217?
mTLS, or mutual TLS, is an authentication mechanism that uses TLS certificates to validate both the client and server in a secure transaction.
What actions can attackers take by exploiting REDHAT-BUG-2319217?
Attackers can authenticate as any user or client leveraging mTLS, potentially compromising sensitive data.