CVE-2026-96445 in Keycloakinfo

Summary

by MITRE • 09/23/2026

A flaw was found in the Conditional OTP authenticator of Keycloak, an identity and access management solution. The issue occurs when the system evaluates specific HTTP headers to determine if a one-time password (OTP) should be skipped, but fails to verify if those headers came from a trusted source. This could allow an attacker who already has a user's password to bypass the second-factor authentication by providing a specially crafted header in their request.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 09/23/2026

The vulnerability identified within Keycloak’s Conditional OTP authenticator represents a critical failure in input validation and trust boundary enforcement, specifically concerning HTTP header manipulation. This flaw stems from an insecure design pattern where the system relies on specific HTTP headers to determine whether one-time password verification should be bypassed for certain users or contexts. The core technical deficiency lies in the absence of source authentication mechanisms for these headers. When Keycloak processes a request, it checks for the presence and value of particular headers that signal a skip condition but does not verify if those headers were generated by an authorized internal service or trusted component. This lack of integrity checking allows external actors to inject arbitrary header values into HTTP requests directed at the authentication endpoint.

From a technical perspective, this issue is classified under CWE-294, which describes Improper Authentication Bypass Using a Duplicate, Camouflaged, or Otherwise Suspicious Value. The attacker exploits this by crafting an HTTP request that includes the specific header associated with the OTP skip logic. Since Keycloak accepts these headers without validating their origin, it interprets the maliciously injected data as legitimate instructions to bypass multi-factor authentication checks. This effectively neutralizes the second factor of security for any user account where such a condition is met, reducing the overall security posture from two-factor to single-factor authentication during the login process.

The operational impact of this vulnerability is severe for organizations relying on Keycloak for identity and access management. An attacker who has already obtained valid credentials through phishing, credential stuffing, or data breaches can leverage this flaw to bypass MFA entirely. This means that even if an organization enforces strict multi-factor authentication policies across its infrastructure, the integrity of those controls is compromised at the application layer. Successful exploitation allows unauthorized access to sensitive applications and services protected by Keycloak, potentially leading to full account takeover, privilege escalation, and further lateral movement within the network environment.

In terms of industry frameworks, this vulnerability aligns with MITRE ATT&CK technique T1078, specifically Valid Accounts, as it facilitates unauthorized use of legitimate credentials. It also relates to T1621, Multi-Factor Authentication Request Interception or Modification, although in this case the modification occurs via header injection rather than interception during transmission. The flaw highlights a common pitfall in web application development where developers assume that internal logic flags passed via headers are safe from external tampering without implementing additional verification layers such as shared secrets, digital signatures, or strict IP allow-listing for service-to-service communication.

Mitigation strategies must focus on eliminating the trust placed in unverified HTTP headers. The most effective remediation involves removing reliance on client-supplied headers to control authentication flow logic entirely. Instead, Keycloak should determine OTP skip conditions based on server-side state, user attributes stored securely within its database, or internal service-to-service communication channels that are protected by mutual TLS or other strong authentication mechanisms. If header-based configuration is necessary for specific integrations, the system must validate these headers against a pre-shared secret using cryptographic signatures to ensure they have not been tampered with and originate from an authorized source. Administrators should also review their Keycloak configurations to identify any custom authenticator flows that might be susceptible to similar logic flaws and apply patches or updates provided by the vendor as soon as available to address this specific header validation gap.

Responsible

Redhat

Reservation

09/23/2026

Disclosure

09/23/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you need the next level of professionalism?

Upgrade your account now!