Skip to content

BuildNot yet confirmed elsewhere1 publisher2 min readPublished

Keycloak's forgot-password flow hands over admin accounts, and the fix is a same-day call

CVE-2026-18963 lets an unauthenticated request skip the emailed token and reset any account on the server. Red Hat rates it 9.1. The stopgap costs you self-service recovery in every realm.

The Engineer · Build desk

How we use AISend a correction

Illustration accompanying Keycloak's forgot-password flow hands over admin accounts, and the fix is a same-day call
Generated illustration

What happened

  • Red Hat and the Keycloak project patched CVE-2026-18963, a state validation bug that lets an unauthenticated request jump the reset-credentials flow to the password update phase.
  • Red Hat, the CNA, rates it 9.1 and describes successful exploitation as full takeover of any account on the server, administrators included.
  • Red Hat credited James Paremain with the report.

Why it matters

  • decision Anyone running Keycloak with forgotten-password enabled on a reachable login endpoint chooses today between shipping the upgrade and switching off self-service recovery, with the help desk...
  • exposure The attack surface is a login page you publish deliberately, and the applications that federate to it are reachable through it without any of their own code being touched.
  • constraint OpenShift shops cannot close this with a single version bump, which rules out the usual one-line change ticket.
  • precedent The clean-so-far exploitation status carries a date rather than a guarantee, so deferring this behind sprint work is a bet that the date keeps holding.

Improper state validation is a flat phrase for a specific defect. The reset-credentials flow does not reliably track which phase the authentication session is in, so a crafted request to the endpoint moves that session straight to the password update phase [3]. The emailed action token, the one element of the sequence that proves the requester controls the mailbox, is never demanded [4]. Red Hat files it as CWE-640, weak password recovery mechanism [5]. It needs no prior authentication and no valid session, and the account holder never has to click anything [6].

What that buys an attacker is not a user account. Reset an administrator and you hold realm configuration: client secrets, identity provider mappings, role assignments, token lifetimes, and the ability to mint or broker sessions into downstream systems [7]. Upgrading restores the flow. It does not rotate a client secret somebody already read, which is why the incident-response version of this work is longer than the patching version.

The dates are worth lining up. Red Hat's errata went out on August 18, 2026 [8], and upstream Keycloak 26.7.2 landed on August 19 [9], one day later [16]. The dev.to writeup that assembled this notes that no exploitation had been seen and no public exploit located as of August 24 [1], while arguing that the bug class is cheap to reproduce once the fix is diffed and that the endpoint is exposed by design [17]. Take the calendar rather than the reassurance: that assessment is five days after the upstream release [15], and the fix has been readable for that entire stretch.

Then there is the shape of the stopgap. Turning off Forgot password lives under Realm settings, then Login, and it has to be applied to every realm, because each realm carries its own login configuration [10]. So the unit of work for the mitigation is your realm count, not your cluster count, and a realm nobody remembers provisioning for a decommissioned partner integration is the same total compromise as your production one. Anyone who has inherited a Keycloak install with fourteen realms and no inventory knows which of the two paths is actually faster.

For Red Hat builds the version numbers are not the whole instruction either. RHBK 26.4 is unaffected from operator bundle 26.4.15-1 and from the rhbk/keycloak-rhel9 and operator images tagged 26.4-23; 26.6 is unaffected from bundle 26.6.6-1 and containers tagged 26.6-12 [11]. Bump the operator without pulling the fixed image and you get a patched controller supervising a vulnerable server [12]. Red Hat credited James Paremain with the report [13].

What to watch

  • A public proof of concept or a first confirmed in-the-wild case, which turns the patch window into incident response.
  • Whether Red Hat or upstream revise guidance on post-patch rotation of client secrets and admin credentials for realms that were exposed.
  • Follow-up advisories touching the same reset-credentials flow, which would suggest the phase-tracking fix was narrower than the bug.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence62
Adoption30
Hype gap+14
Incentives45
Confidence56
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    As of August 24, 2026, there is no evidence of exploitation in the wild and no verified public exploit has been located.

    ReportedSupportedSource: dev.to writeup on CVE-2026-189632 sources— create a free account to open themView cited source
  2. [2]

    Affected parties are any organization running Keycloak or Red Hat build of Keycloak with the forgotten-password feature enabled on an internet reachable login endpoint.

  3. [3]

    Red Hat and the Keycloak project patched CVE-2026-18963, an improper state validation bug in the reset-credentials authentication flow; a specially crafted request to the reset-credentials endpoint transitions the authentication session directly to the password update phase.

    ReportedSupportedView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · August 24, 2026

    Keycloak CVE-2026-18963: Unauthenticated Password Reset Hands Over Any Account, Including Admins

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Entities

Loading related stories