P.K. SHARMA

Cyber security intelligence, AI governance, practitioner analysis

AI Security

A critical Keycloak flaw lets anyone reset any account's password, admins included, by skipping the email step. CVSS 9.1, patch is out

CVE-2026-18963 is an authentication bypass in Keycloak's reset-credentials flow. Improper state validation lets an unauthenticated attacker reach the password-setting stage without email verification, and take over any account. The fix is version 26.7.2.

By Parminder Kumar Sharma · · 5 min read

Editorial hero for the keycloak-reset-credentials-bypass-cve-2026-18963 briefing.

What broke

Keycloak, the open-source identity and access management platform that a great many organisations run in front of everything else, has a critical flaw in the one flow you least want to be broken: password recovery.

CVE-2026-18963, rated CVSS 9.1, is an authentication bypass in the reset-credentials flow. The advisory's own description is the whole story: improper state validation lets an unauthenticated attacker manipulate the reset workflow so the password-setting stage is reached without completing the email-verification step. The action token Keycloak normally emails is never required.

The reset flow, and the checkpoint it skips

CVE-2026-18963The reset flow, and the checkpoint it skipscrafted request skips straight to set-passwordrequest resetverify emailed tokenset new passwordReach set-password without the token and you reset any account, including admin. CVSS 9.1, fixed in 26.7.2.
Flow and mechanism from the Keycloak advisory and issue #51833: improper state validation lets the reset session reach the password-update phase without the emailed action token.
The reset-credentials sequence with the email-verification step bypassed, per CVE-2026-18963.

An attacker sends a crafted request to the reset-credentials endpoint. The authentication session transitions straight to the password-update phase, and the attacker sets a new password for any account they name, including administrative accounts. There is no phishing, no token theft, no user interaction. The server simply lets the flow skip its own checkpoint.

Why this one matters more than its CVSS

A 9.1 is severe on its own, but the placement is what makes this urgent. Keycloak is usually the thing that authenticates the other things. An account takeover here is not a foothold in one application; it is a foothold in the identity layer that fronts many. Take an admin account and you are not inside a system, you are inside the thing that decides who is inside every system.

The facts to action, from the advisory

FieldValue
IdentifierCVE-2026-18963
SeverityCritical, CVSS 9.1
Componentkeycloak-services, reset-credentials flow
Root causeImproper state validation; email-verification step can be skipped
ImpactUnauthenticated account takeover of any user, including administrators
Fixed inKeycloak 26.7.2 and later; Red Hat RHSA-2026:56519 and related
Known exploitationNone observed as of 24 August 2026; no public exploit located
Details from the Keycloak security advisory, GitHub issue #51833 and Kudelski Security's analysis, current as of 24 August 2026.

The pattern in the flaw

Strip away the product and this is a state-machine bug, and state-machine bugs in authentication are a recurring shape. A flow is designed as a strict sequence of stages, each meant to be reachable only after the last one completed, and the implementation trusts the client to arrive in order instead of enforcing it on the server. The reset-credentials flow has exactly three stages that must run in sequence, and the middle one, proving control of the registered email, is the only thing standing between "I claim to be this user" and "I have set this user's password". When the server fails to validate that the session genuinely passed that stage, the whole guarantee of the flow collapses, because the guarantee was never the email itself, it was the ordering.

That is why the fix is a version bump and not a configuration change. There is no setting that re-imposes the ordering; the ordering has to be enforced in code, which is what 26.7.2 does. It is also why every deployment is affected equally regardless of how carefully it was configured. A hardened, well-run Keycloak instance on a vulnerable version is exactly as exposed as a careless one, because the missing check is below the level anything an operator controls.

What to do this week

Take this with you

Keycloak operators, in order

  • Upgrade to 26.7.2 or later now. This is the fix, and there is no configuration that substitutes for it. Red Hat Build of Keycloak users apply RHSA-2026:56519 and the related advisories.
  • Until patched, restrict reach to the reset-credentials endpoint. If the account-recovery flow does not need to be internet-facing for your deployment, put it behind the controls that everything else sits behind.
  • Audit for unexpected password resets and new credentials, especially on administrative and service accounts, across the window before you patched. Absence of a public exploit is not absence of exploitation.
  • Rotate credentials for high-value accounts after patching, on the assumption that you cannot prove the flaw was not used against you while it was open.
  • Treat your identity platform as tier zero. A critical in Keycloak is not one application to patch, it is the control that authorises the rest, so it jumps the queue.

The position

There is nothing exotic here, and that is the point worth making. The flaw is a missing state check in a flow that exists precisely to be careful, and the fix is a version bump. What earns it a briefing is not novelty but blast radius: identity is the one layer where a single account takeover is not contained to a single system.

The uncomfortable footnote is the honest one every advisory carries. "No known exploitation" describes what defenders have seen, not what happened. For a flaw this simple to weaponise, in software this widely deployed, the safe reading is to patch as if the window that just closed was used, and to check. A missing state check is trivial to weaponise once known, the fix is a single upgrade with no offsetting configuration, and the software sits at the centre of everything else, which is the rare combination that justifies dropping other work to do it today rather than at the next maintenance window.

Sources

  1. PrimaryCVE-2026-18963, unauthenticated account takeover via reset-credentials flow bypass, issue 51833Keycloak (GitHub)accessed 2026-08-24
  2. Reported byCVE-2026-18963, Keycloak credential reset authentication bypassKudelski Securityaccessed 2026-08-24

Share this briefing

Know someone who owns this problem? Send it to them.

Related briefings

The briefing, in your inbox

Practitioner analysis of cyber and AI security news. No vendor noise.

One email per briefing. Unsubscribe any time.