IDENTITY SECURITY · CVE-2026-18963

Keycloak CVE-2026-18963

Unauthenticated Password Reset Hands Over Any Account, Including Admins. A CVSS 9.1 state validation bug in Keycloak's reset-credentials flow lets an unauthenticated attacker skip the emailed action token and set a new password on any account, administrators included.

Matt Lucas  |  August 24, 2026  |  5 min
Editorial hero illustration
9.1
CVSS (Red Hat CNA)
Reset-credentials flaw
26.7.2
Fixed upstream version
8
CVEs fixed in 26.7.2
Detected by CaverLive detection for 2 CVEs in the RedEye Intel Feed →
TL;DR
  • What: Red Hat and the Keycloak project patched CVE-2026-18963, an improper state validation bug in the reset-credentials authentication flow that lets an unauthenticated remote attacker jump straight to the password update phase without the emailed action token.
  • Impact: Successful exploitation is a full takeover of any account on the server, including administrative accounts, and everything sitting behind Keycloak as its identity provider inherits that compromise.
  • Fix / mitigation: Upgrade to upstream Keycloak 26.7.2 (released August 19, 2026) or Red Hat build of Keycloak 26.4.15 and 26.6.6, and if you cannot patch immediately, turn off Forgot password under Realm settings, then Login, in every realm.
  • Who's at risk: Any organization running Keycloak or Red Hat build of Keycloak with the forgotten-password feature enabled on an internet reachable login endpoint.

Red Hat and the Keycloak project have patched a flaw that lets an unauthenticated remote attacker reset the password on any account the server holds, administrators included, with no email token required and no user interaction at all. CVE-2026-18963 is rated 9.1 on CVSS by Red Hat, which is the CNA for the issue. If Keycloak is the front door to your internal applications, this is a complete identity compromise reachable from anywhere the login page is reachable. Patch first, read second.

The bug: a state check that never runs

Red Hat's advisory names the root cause as improper state validation within the reset-credentials authentication flow, the sequence Keycloak executes when a user clicks Forgot password. It is classified as CWE-640, weak password recovery mechanism for a forgotten password. The normal flow is supposed to create an authentication session, mail the user an action token, and only advance to the password update phase once that token comes back and validates. The defect is in how the flow tracks which phase the session is actually in.

Per the Red Hat bug report, an attacker sends a specially crafted request to the reset-credentials endpoint. The authentication session then transitions directly to the password update phase. The action token Keycloak would normally send by email is never required, so the mailbox that is supposed to prove ownership of the account is cut out of the loop entirely. The result is a complete account takeover of any user, quoting the advisory, including administrative accounts. There is no pre-authentication requirement, no need to already hold a valid session, and no victim click.

Red Hat credited James Paremain with reporting the flaw. As of August 24, 2026, there is no evidence of exploitation in the wild and no verified public exploit has been located. Treat that as a patch window, not as reassurance. The bug class is trivially reproducible once someone diffs the fix, and the endpoint is exposed by design.

If you cannot patch today, kill Forgot password in every realm

Red Hat's temporary mitigation is to disable the Forgot password functionality. In the administration console the setting is under Realm settings, then Login, then Forgot password. It must be applied to every realm, not just the primary one, because each realm carries its own login configuration. This breaks self-service recovery for your users, so treat it as a bridge to the upgrade, not a fix.

Fixed versions

Note the split between operator bundles and container image tags. Teams running RHBK on OpenShift need both moved, since bumping the operator without pulling the fixed keycloak-rhel9 image leaves the vulnerable server running underneath a patched controller.

An IdP bug is never a single application bug

The blast radius here is not Keycloak. It is every application that trusts Keycloak. An attacker who resets an administrator password owns realm configuration: client secrets, identity provider mappings, role assignments, token lifetimes, and the ability to mint or broker sessions into downstream systems. Escape researcher Enzo Mongin, writing about a separate Keycloak access-control flaw he disclosed in July, put it plainly: an attacker who crosses one of the server's boundaries does not stop at Keycloak, they get into everything sitting behind it.

That also shapes your incident response scope. If you find evidence of exploitation, rotating one password is not containment. Assume client secrets, service account credentials, and any tokens issued during the exposure window are suspect, and plan for a realm level credential rotation rather than a per user reset.

What the advisories do not establish

Several details remain open, and you should scope your response around the gaps rather than assume the narrowest reading:

Univention said on August 20 that Nubus is not affected because the forgotten-password feature is not activated in its Keycloak deployments. That is a useful data point for the mitigation logic: configuration, not version alone, determines exposure.

Detection and hunting

There is no published indicator set, so hunt on flow anomalies rather than signatures. The tell is a credential change that completed without the corresponding token issuance and validation events preceding it.

Do this now

Keycloak's patch cadence deserves a standing process, not a fire drill

CVE-2026-18963 was one of eight CVEs fixed in 26.7.2. The same release addressed CVE-2026-15571, a predictable account-linking hash allowing takeover via a malicious OIDC client. Two weeks earlier, on August 5, 2026, version 26.7.1 shipped fixes for twelve CVEs, including a SAML identity provider initiated broker login that bypassed a link-only restriction and a default dynamic client registration policy that permitted role forgery through user property mappers. That is twenty security fixes in roughly three weeks. If your Keycloak upgrade path is a quarterly ticket, the math is against you.

Questions about your exposure?

RedEye Security provides assessments for organizations that need to understand their real risk.

Talk to us