CVE-2026-9802: Keycloak: keycloak: unauthorized account access via replayed refresh tokens after cluster restart
A flaw was found in Keycloak. When revokeRefreshToken=true is enabled and persistent session storage is in use, a server restart can reset internal timing mechanisms. This allows a remote attacker, who has previously captured a user's refresh token, to replay that token even after it has been revoked. Successful exploitation grants the attacker unauthorized access to the victim's account, potentially leading to information disclosure or privilege escalation.
This Keycloak flaw can let an attacker reuse a refresh token that should have been revoked after a server or cluster restart. The attacker must already have captured a user's refresh token. If successful, they may access that user's account, creating confidentiality and integrity risk for identity-backed applications.
Executive priority
Treat as a moderate-priority identity security issue. It deserves prompt patch planning because compromised SSO sessions can expose many applications, but available evidence does not indicate active exploitation or broad unauthenticated compromise.
Technical view
With revokeRefreshToken=true and persistent session storage enabled, a restart can reset internal timing used to enforce refresh-token revocation. This creates a CWE-613 session expiration failure where a previously captured revoked refresh token may be accepted. Red Hat rates this CVSS 6.8, with high confidentiality and integrity impact but high attack complexity.
Likely exposure
Exposure is limited to Red Hat build of Keycloak 26.6 deployments matching the affected package versions and configuration conditions. Risk is higher for internet-facing identity services, clustered deployments, frequent restarts, and realms serving privileged users or sensitive applications.
Exploitation context
The bundle does not show CISA KEV listing or active exploitation evidence. Exploitation requires prior refresh-token capture, the vulnerable configuration, persistent session storage, and a restart condition that resets timing mechanisms. This is not described as a simple unauthenticated compromise path.
Researcher notes
Focus validation on the exact configuration: refresh-token revocation enabled, persistent sessions, and restart behavior. The key precondition is token capture before replay. Avoid assuming all Keycloak deployments are affected; the source bundle names Red Hat build of Keycloak 26.6 package variants.
Mitigation direction
Review RHSA-2026:25097 and RHSA-2026:25098 for Red Hat's fixed build guidance.
Upgrade affected Red Hat build of Keycloak packages to a vendor-designated unaffected version.
Prioritize realms protecting administrative, privileged, or sensitive business applications.
Reduce unnecessary restarts until patched where operationally feasible.
Investigate and rotate credentials for users with suspected token exposure.
Validation and detection
Inventory Red Hat build of Keycloak versions and package names against the affected list.
Confirm whether revokeRefreshToken=true and persistent session storage are enabled.
Review restart windows for clustered or highly available Keycloak deployments.
Check authentication logs for unusual refresh activity after restarts.
Validate remediation against Red Hat advisories, not only upstream Keycloak version strings.
Based on public source material and reviewed before publication.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-613: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
The CVE wording references privilege impact, so privilege escalation and authorization behavior review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve
time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
5Timeline events
1ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present,
the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-613 · source CWE mapping
Insufficient Session Expiration
Insufficient Session Expiration represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.