# CVE-2026-97175: Keycloak-services: keycloak-services: unverified idp email auto-linking enables account takeover

Status: published. Published: 2026-11-05. Updated: 2026-11-09.

A flaw was found in the idp-auto-link authenticator of the keycloak-services component, which handles user identity federation. The issue occurs when Keycloak automatically links an incoming identity from an external provider to an existing local account based on an email address without verifying if the provider has validated that email. This can allow an attacker to take over a victim's account by using a matching unverified email address at a brokered provider.

## Remediation

- workaround: Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

--- CME Mitigation Guidance (2026-11-06) ---
Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.

The highest-value action is to require verification of the email verified claim before linking brokered identities to local accounts in the idp-auto-link authenticator: upgrade to Red Hat build of Keycloak 26.4.17 (or the fixed Rhbk/Keycloak Rhel/Keycloak Services builds), which verify the email verified claim before automatically linking an incoming brokered identity to an existing local account, closing federated identity login using unverified matching email address. Until patched, this is a concern on Keycloak deployments configured with the idp-auto-link authenticator in the first-broker-login flow, so audit brokered external identity providers to ensure they enforce email verification, or avoid using external providers that permit arbitrary unverified email addresses matching existing local accounts. As a compensating measure, Enforce multi-factor authentication on target Keycloak accounts to prevent attackers from completing account takeovers even if the federated identity is automatically linked. These controls limit blast radius and contain exploitation, but they do not fix the underlying improper authentication defect — apply the upstream patch to fully remediate.

Highest-impact CME: CME-801 Multi-Factor Authentication (MFA) (medium) (source: CNA: redhat)

## Affected products and versions

- Red Hat / Red Hat build of Keycloak 26.4.17 (keycloak-services): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat build of Keycloak 26.4.17 (rhbk/keycloak-rhel9): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat build of Keycloak 26.6.8 (keycloak-services): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat build of Keycloak 26.6.8 (rhbk/keycloak-rhel9): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Single Sign-On 7 (keycloak-services): Version range not reported. Source: CNA: redhat

## Severity and prioritization

- CVSS 3.1: 8.8 (high); CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H; source: CNA: redhat

- CVSS 3.1: 8.8 (high); CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H; source: NVD: secalert@redhat.com

- CISA KEV: No listing in collected sources

- EPSS: 0.36% as of 2026-11-09; percentile 29.45%

- SSVC: exploitation none; automatable no; technical impact total; source ADP: CISA-ADP

- Weaknesses: CWE-287

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://access.redhat.com/errata/RHSA-2026:95759 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:95760 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:95761 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:95762 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/security/cve/CVE-2026-97175 (CNA: redhat; vdb-entry, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:95759 (secalert@redhat.com)

- https://access.redhat.com/errata/RHSA-2026:95760 (secalert@redhat.com)

- https://access.redhat.com/errata/RHSA-2026:95761 (secalert@redhat.com)

- https://access.redhat.com/errata/RHSA-2026:95762 (secalert@redhat.com)

- https://access.redhat.com/security/cve/CVE-2026-97175 (secalert@redhat.com)

## Provenance

- CNA: redhat: https://www.cve.org/CVERecord?id=CVE-2026-97175; retrieved 2026-11-09; source updated 2026-11-09

- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-97175; retrieved 2026-11-10; source updated 2026-11-09

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-97175; retrieved 2026-11-09; source updated Not reported

Revision: 62706d7126af17203f7c81f5cec2f4bee891c37ca635e6589fd7fec2d3ff103f

Canonical: https://y2.dev/cve/CVE-2026-97175

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.