CVE-2026-110932: Keycloak-services: keycloak-services: unauthenticated persistent disk exhaustion via theme gzip cache
A flaw was found in the theme resource endpoint of Keycloak, an open-source identity and access management solution. The issue occurs because the server fails to validate theme names before using them as keys for an on-disk gzip cache. An unauthenticated attacker can exploit this by sending many requests with unique, fabricated theme names, leading to persistent disk space exhaustion that survives server restarts and causes service disruptions.
Other sources
A Resource Exhaustion vulnerability was found in Keycloaks theme resource endpoint (/resources/{version}/{themeType}/{themeName}/{path}). The root cause is improper validation of the themeName parameter when theme caching is enabled and the client requests gzip encoding. While the server resolves unknown theme names to a default theme, it uses the attacker-provided name to create a permanent file in the data/tmp/kc-gzip-cache/ directory. Because these entries are never expired or bounded, an unauthenticated remote attacker can send a high volume of requests with unique theme names to fill the servers disk. Successful exploitation leads to a persistent Denial of Service where legitimate theme assets return 404 errors and other disk-dependent operations, such as logging and transaction processing, fail.
— Red Hat
Affected Software
Event History
Frequently Asked Questions
What conditions are required for exploitation?
The theme resource endpoint must be reachable, theme caching must be enabled, and the client request must use gzip encoding. No authentication, privileges, or user interaction are required.
Who is exposed to this issue?
Keycloak deployments that expose the theme resource endpoint to remote clients are exposed when theme caching is enabled and gzip-encoded resource requests are accepted. An attacker can trigger the issue remotely by submitting requests with many unique fabricated theme names.
What happens after successful exploitation?
Each fabricated theme name can create a permanent entry in data/tmp/kc-gzip-cache/. The entries are not expired or bounded, so disk exhaustion persists across server restarts and can cause theme assets to return 404 errors as well as disrupt other disk-dependent services.
How can administrators check for signs of exploitation?
Inspect data/tmp/kc-gzip-cache/ for a large or growing number of cache files associated with unexpected or fabricated theme names. Disk-space depletion and 404 responses for legitimate theme assets are also indicators of impact.