REDHAT-BUG-2398025: Low severity Keycloak Keycloak vulnerability
The keycloak guides recommend to not expose /admin path to the outside in case the installation is using a proxy (see https://www.keycloak.org/server/reverseproxy#exposedpathrecommendations ). The problem is that, at least ha-proxy, can be tricked to using relative/non-normalized paths to access the /admin application path relative to /realms (which should be exposed). For example:
curl --path-as-is http://localhost:7080/realms/../admin/master/console/#/master/info <http://localhost:7080/admin/master/console/#/master/info>
The admin path requires authentication but, in the end, the final customer is exposing a path that he thinks is not accessible. Also note that this is more an issue in ha-proxy than keycloak. Keycloak does not even document how to configure ha-proxy or any other proxy, it just recommends to not expose the /admin app. For example mod-proxy correctly manages non-normalized URLs, because it normalizes the path before to be sure it's inside the prefix-path.
Nevertheless we have reached the conclusion that keycloak should return an error by default for non-normalized URLs.
The installation should use a proxy configuration with ha-proxy with the common configuration.
Affected Software
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-2398025?
The severity of REDHAT-BUG-2398025 is significant due to potential unauthorized access to the Keycloak admin features.
How do I fix REDHAT-BUG-2398025?
To fix REDHAT-BUG-2398025, ensure that the /admin path is not exposed to the public when using a reverse proxy.
Which software is affected by REDHAT-BUG-2398025?
REDHAT-BUG-2398025 affects Keycloak and HAProxy installations.
What are the risks associated with REDHAT-BUG-2398025?
The risks associated with REDHAT-BUG-2398025 include the potential for attackers to access administrative features and sensitive data.
Is REDHAT-BUG-2398025 a known vulnerability in the community?
Yes, REDHAT-BUG-2398025 is a recognized vulnerability that is being documented and discussed in the security community.