Keycloak Denial-of-Service Vulnerability via TLS Client-Initiated Renegotiation

Vulnerability

A denial-of-service vulnerability has been identified in Keycloak. This issue allows an unauthenticated remote attacker to exhaust server CPU resources by repeatedly initiating TLS 1.2 client-initiated renegotiation requests. As a result, the service becomes unavailable. The vulnerability arises from the default JDK setting that permits client-initiated renegotiation in TLS 1.2, which can be exploited without authentication by accessing any TLS-enabled endpoint on a Keycloak server.

Impact

Exploitation of this vulnerability leads to a denial-of-service condition, causing resource exhaustion on the server's CPU, which in turn makes the Keycloak service unavailable.

Remediation

To address this vulnerability, Keycloak can be configured to reject client-initiated TLS renegotiation by adding a specific Java system property to the startup configuration. It is also recommended to deploy Keycloak behind proper network access controls and rate-limiting mechanisms to further reduce exposure to denial-of-service attacks.

Added: Dec 23, 2025, 9:27 PM
Updated: Dec 23, 2025, 9:27 PM

Vulnerability Rating

Custom Algorithm
spread
5.2
impact
2.5
exploitability
9.7
remediation
7.9
relevance
1.5
threat
6.4
urgency
2.9
incentive
10.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.