# Keycloak's Password Reset Flow Has a CVSS 9.1 Flaw That Bypasses Email Verification Entirely


## The Threat


Keycloak, the open-source identity and access management platform widely deployed to broker authentication for enterprise applications, has a critical flaw in the way it handles password recovery. An unauthenticated attacker who knows a target's username can send a specially crafted request to the reset-credentials endpoint, skip the email verification step entirely, and land directly at the password-update phase — no token, no inbox access, no user interaction required.


The mechanics are disarmingly simple. Keycloak's forgot-password flow is designed as a multi-step sequence: user requests a reset, Keycloak sends a time-limited action token to the registered email, user clicks the link, user sets a new password. The flaw, tracked as CVE-2026-18963, is that the server does not properly validate the flow's state between steps. A crafted request can advance the session directly to the password-update phase while skipping the email step entirely. The action token is never issued — and never checked.


The consequence is complete account takeover. Red Hat's advisory explicitly notes that "including administrative accounts" are within scope. For any organization running Keycloak as their identity provider — which means every downstream application, API, and service that trusts those tokens — a single exploited reset request hands an attacker the keys to the entire estate.


## Severity and Impact


| Field | Detail |

|---|---|

| CVE | CVE-2026-18963 |

| CVSS Score | 9.1 (Critical) |

| CWE | CWE-640 — Weak Password Recovery Mechanism for Forgotten Password |

| Attack Vector | Network |

| Attack Complexity | Low |

| Authentication Required | None |

| User Interaction | None |

| Impact | Complete account takeover, including administrative accounts |

| CNA | Red Hat |

| Exploitation Status | No known exploitation or verified public exploit as of August 24, 2026 |


## Affected Products


Upstream Keycloak

  • All versions prior to 26.7.2

  • Red Hat build of Keycloak (RHBK) 26.4 stream

  • Versions prior to operator bundle 26.4.15-1
  • Container images rhbk/keycloak-rhel9 and rhbk/keycloak-rhel9-operator prior to 26.4-23

  • Red Hat build of Keycloak (RHBK) 26.6 stream

  • Versions prior to operator bundle 26.6.6-1
  • Container images keycloak-rhel9 and operator containers prior to 26.6-12

  • Status unclear (pending NVD update and Red Hat revision):

  • Red Hat Single Sign-On 7 — initially listed as unaffected, status not fully resolved
  • Red Hat JBoss EAP Expansion Pack — initially listed as affected, current status unconfirmed after advisory revision

  • ## Mitigations


    Patch immediately. Fixed releases shipped August 18–19, 2026:


  • Upstream Keycloak: upgrade to 26.7.2
  • RHBK 26.4: apply operator bundle 26.4.15-1 / images 26.4-23 (Red Hat errata RHSA-2026:56519, RHSA-2026:56520)
  • RHBK 26.6: apply operator bundle 26.6.6-1 / containers 26.6-12 (RHSA-2026:56523, RHSA-2026:56524)

  • If patching is not immediately possible, Red Hat has published a temporary workaround: disable the "Forgot password" feature across every realm in the deployment.


    To apply the workaround in the RHBK administration console: navigate to Realm settings → Login → Forgot password and toggle it off. This must be done individually for every realm — a missed realm remains exposed. Red Hat emphasizes this is a stopgap only; upgrade to a fixed version as soon as operationally feasible.


    Additional hardening to consider:

  • Restrict Keycloak's admin console and reset-credentials endpoints to internal networks or VPN where possible
  • Enable anomaly detection or rate limiting on authentication endpoints to surface crafted request patterns
  • Review realm configurations to confirm no service accounts or administrative users are using easily guessable usernames

  • ## References


  • [Red Hat CVE Advisory — CVE-2026-18963](https://access.redhat.com/security/cve/CVE-2026-18963)
  • [Red Hat Bugzilla — CVE-2026-18963](https://bugzilla.redhat.com/)
  • [RHSA-2026:56519](https://access.redhat.com/errata/RHSA-2026:56519) / [RHSA-2026:56520](https://access.redhat.com/errata/RHSA-2026:56520) / [RHSA-2026:56523](https://access.redhat.com/errata/RHSA-2026:56523) / [RHSA-2026:56524](https://access.redhat.com/errata/RHSA-2026:56524)
  • [Keycloak 26.7.2 Release Notes](https://www.keycloak.org/docs/latest/release_notes/)

  • ---


    ## HackWire Analysis


    This vulnerability lands at a particularly awkward moment for the Keycloak project. CVE-2026-18963 is the headliner in the 26.7.2 release, but it was patched alongside seven other CVEs — and two weeks before that, 26.7.1 shipped fixes for twelve more. In the span of roughly three weeks, Keycloak has closed twenty-plus security issues, including a separate account-takeover path via a predictable account-linking hash (CVE-2026-15571) and multiple SAML broker abuses. This is not random noise. It suggests the codebase is under sustained scrutiny, whether from formal security audits, bug bounty attention, or researchers drawn in by Escape's July disclosure of an access-control bypass that Enzo Mongin described as a full pivot point: breach Keycloak, reach everything behind it.


    That framing matters for how defenders should read CVE-2026-18963. The technical blast radius of this flaw is not just "attacker resets a user's password." Keycloak typically sits at the trust boundary of an organization's entire application layer — SSO, API gateways, developer portals, internal tooling. An admin account reset here is not a Keycloak incident; it is a credential incident for every federated system in scope. The organizations most exposed are those running Keycloak internet-facing without network-layer controls on the authentication endpoints, a configuration more common than it should be in developer environments and smaller enterprises that never hardened beyond the default install.


    The temporary mitigation — disabling "Forgot password" globally — is blunter than it sounds. Help desk ticket volume will spike. Users who genuinely need resets will create support pressure. Organizations tempted to re-enable the feature before patching should resist that pressure. A patched Keycloak instance is the only acceptable end state here.


    — HackWire Editorial


    ---


    ## Related Coverage


  • Read more in our [Vulnerabilities](https://www.hackwire.news/category/vulnerabilities) coverage
  • Cross-reference with [Breaches](https://www.hackwire.news/category/breaches) and [Malware](https://www.hackwire.news/category/malware)
  • Stay current via the [HackWire homepage](https://www.hackwire.news/)