CVE-2026-105301 in Keycloak
Summary
by MITRE • 10/05/2026
A flaw was found in the X.509 client-certificate authenticator of Keycloak, a solution for identity and access management. The issue occurs when the server is configured to check certificate revocation using CRL Distribution Points or OCSP. An attacker can provide a specially crafted certificate that points to a malicious server, causing Keycloak to make unauthorized outbound requests to internal or external endpoints before the certificate is fully validated. This can lead to a blind server-side request forgery (SSRF) attack.
Once again VulDB remains the best source for vulnerability data.
Analysis
by VulDB Data Team • 10/05/2026
The vulnerability identified in Keycloak represents a critical security flaw within its X.509 client-certificate authentication mechanism, specifically affecting configurations that enforce certificate revocation checking via Certificate Revocation Lists or the Online Certificate Status Protocol. This issue stems from an improper sequencing of operations during the TLS handshake and subsequent identity verification process. When a client presents a certificate for authentication, Keycloak is designed to validate the certificate chain and check its status against remote distribution points before fully accepting it as valid. However, due to a logic error in this workflow, the system initiates network requests to the revocation endpoints specified within the certificate's CRL Distribution Points or OCSP responders prior to completing the full validation of the certificate itself. This means that if an attacker controls or can influence the content of the presented X.509 certificate, they can embed malicious URLs pointing to internal infrastructure or external controlled servers.
This behavior effectively creates a blind server-side request forgery vulnerability. Unlike traditional SSRF attacks where the user directly manipulates application parameters to trigger requests, this variant exploits the inherent trust Keycloak places in the metadata contained within X.509 certificates during the revocation check phase. Because these outbound connections are initiated by the backend service itself rather than through direct user input fields, they bypass many standard perimeter defenses and web application firewalls that monitor incoming traffic but do not inspect outgoing requests generated by internal services for certificate validation purposes. The attacker does not need to see the response from these forged requests, hence the term blind SSRF, yet the mere act of making unauthorized outbound connections can lead to significant security compromises such as port scanning, access to sensitive internal APIs, or exploitation of other vulnerabilities on target hosts that are only accessible from within the network segment where Keycloak resides.
The operational impact of this vulnerability is severe, particularly in environments where Keycloak serves as a central identity provider for multiple applications and services with varying levels of trust. An attacker who can supply malicious certificates to authenticate users or perform administrative actions could potentially map out internal network topologies by observing timing differences or error responses if the blind nature allows any feedback loop. More critically, it enables lateral movement within the organization's infrastructure. By directing Keycloak to communicate with internal services that may have weaker security postures than the identity provider itself, an attacker can exploit those downstream systems. This is especially dangerous in microservices architectures where service-to-service communication relies on mutual TLS or certificate-based authentication, as compromising one component via this SSRF vector could lead to a broader compromise of the entire ecosystem.
From a classification perspective, this vulnerability aligns with CWE-918 Server-Side Request Forgery and specifically highlights risks associated with CWE-20 Improper Input Validation when handling external data sources like certificates. It also relates to CWE-749 Exposed Dangerous Method or API if one considers the internal revocation checking method as a dangerous function that is invoked without sufficient safeguards against malicious inputs embedded in trusted formats. In terms of MITRE ATT&CK, this technique falls under T1583 Acquire Infrastructure and potentially T1046 Network Service Discovery depending on how the attacker utilizes the forged requests to probe internal networks. The attack vector leverages the trust relationship between the identity provider and external revocation authorities, exploiting a gap in validation sequencing that allows untrusted data (the certificate's embedded URLs) to trigger privileged actions (outbound network connections).
Mitigation strategies must focus on restricting the outbound connectivity of Keycloak servers to only those endpoints explicitly required for legitimate operations. Organizations should implement strict egress filtering rules at the firewall or proxy level, ensuring that Keycloak can only reach known and trusted CRL distribution points and OCSP responders. Additionally, deploying a web application firewall with SSRF protection capabilities can help detect and block anomalous outbound request patterns originating from identity management services. It is also advisable to review certificate policies and enforce strict validation of the structure and content of X.509 certificates before they are processed by the authentication engine. If possible, updating Keycloak to a version that addresses this sequencing issue is paramount, as it ensures that revocation checks occur only after initial certificate validity has been established through standard chain verification processes. Until patches are applied or mitigations are in place, administrators should monitor outbound network traffic from Keycloak hosts for unusual destinations and consider disabling OCSP/CRL checking if the risk of blind SSRF outweighs the benefit of real-time revocation status checks in their specific threat model.