CVE-2026-14781
Keycloak-services: keycloak-services: oidc email_verified claim incorrectly applied to userinfo email
Description
A flaw exists in the org.keycloak.broker.oidc package where the OIDC broker incorrectly synchronizes the email_verified claim. When an OIDC identity provider is configured with trustEmail=true and the userinfo endpoint is enabled, Keycloak retrieves the email address from the userinfo response but retrieves the email_verified status exclusively from the id_token. The root cause is a lack of validation ensuring that the email_verified claim in the id_token actually refers to the email address returned by the userinfo endpoint. If these two sources return different email addresses, the id_token's email_verified=true claim is blindly applied to the userinfo email. Exploitation Conditions: The OIDC identity provider must have trustEmail set to true (non-default). The userinfo endpoint must be enabled (default). The attacker must control or have compromised the upstream OIDC provider. Concrete Impact: Mark arbitrary email addresses as verified in the Keycloak database. Bypass email-based security controls or verification workflows. Potential account takeover if the application relies solely on the email_verified flag from the IdP to link accounts.
INFO
Published Date :
July 5, 2026, 7:16 a.m.
Last Modified :
July 6, 2026, 6:41 p.m.
Remotely Exploit :
Yes !
Source :
[email protected]
Affected Products
The following products are affected by CVE-2026-14781
vulnerability.
Even if cvefeed.io is aware of the exact versions of the
products
that
are
affected, the information is not represented in the table below.
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | MEDIUM | [email protected] |
Solution
- Update Keycloak to the latest version.
- Review and adjust OIDC identity provider configurations.
- Ensure email verification logic is robust.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-14781.
| URL | Resource |
|---|---|
| https://access.redhat.com/security/cve/CVE-2026-14781 | |
| https://bugzilla.redhat.com/show_bug.cgi?id=2497118 |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-14781 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-14781
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-14781 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-14781 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jul. 06, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2026-14781', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'no'}, {'technicalImpact': 'partial'}], 'version': '2.0.3', 'timestamp': '2026-07-06T14:11:53.137626Z'} -
New CVE Received by [email protected]
Jul. 05, 2026
Action Type Old Value New Value Added Affected [{'cpes': ['cpe:/a:redhat:build_keycloak:'], 'vendor': 'Red Hat', 'product': 'Red Hat Build of Keycloak', 'packageName': 'keycloak-services', 'collectionURL': 'https://access.redhat.com/downloads/content/package-browser/', 'defaultStatus': 'unaffected'}, {'cpes': ['cpe:/a:redhat:build_keycloak:'], 'vendor': 'Red Hat', 'product': 'Red Hat Build of Keycloak', 'packageName': 'rhbk/keycloak-rhel9', 'collectionURL': 'https://access.redhat.com/downloads/content/package-browser/', 'defaultStatus': 'affected'}, {'cpes': ['cpe:/a:redhat:build_keycloak:'], 'vendor': 'Red Hat', 'product': 'Red Hat Build of Keycloak', 'packageName': 'rhbk-openshift-rhel9/rhbk-openshift-rhel9', 'collectionURL': 'https://access.redhat.com/downloads/content/package-browser/', 'defaultStatus': 'unaffected'}, {'cpes': ['cpe:/a:redhat:jboss_data_grid:8'], 'vendor': 'Red Hat', 'product': 'Red Hat Data Grid 8', 'packageName': 'keycloak-services', 'collectionURL': 'https://access.redhat.com/downloads/content/package-browser/', 'defaultStatus': 'unaffected'}, {'cpes': ['cpe:/a:redhat:jbosseapxp'], 'vendor': 'Red Hat', 'product': 'Red Hat JBoss Enterprise Application Platform Expansion Pack', 'packageName': 'keycloak-services', 'collectionURL': 'https://access.redhat.com/jbossnetwork/restricted/listSoftware.html', 'defaultStatus': 'unaffected'}, {'cpes': ['cpe:/a:redhat:red_hat_single_sign_on:7'], 'vendor': 'Red Hat', 'product': 'Red Hat Single Sign-On 7', 'packageName': 'keycloak-services', 'collectionURL': 'https://access.redhat.com/downloads/content/package-browser/', 'defaultStatus': 'unaffected'}] Added Description A flaw exists in the org.keycloak.broker.oidc package where the OIDC broker incorrectly synchronizes the email_verified claim. When an OIDC identity provider is configured with trustEmail=true and the userinfo endpoint is enabled, Keycloak retrieves the email address from the userinfo response but retrieves the email_verified status exclusively from the id_token. The root cause is a lack of validation ensuring that the email_verified claim in the id_token actually refers to the email address returned by the userinfo endpoint. If these two sources return different email addresses, the id_token's email_verified=true claim is blindly applied to the userinfo email. Exploitation Conditions: The OIDC identity provider must have trustEmail set to true (non-default). The userinfo endpoint must be enabled (default). The attacker must control or have compromised the upstream OIDC provider. Concrete Impact: Mark arbitrary email addresses as verified in the Keycloak database. Bypass email-based security controls or verification workflows. Potential account takeover if the application relies solely on the email_verified flag from the IdP to link accounts. Added CVSS V3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N Added CWE CWE-1288 Added Reference https://access.redhat.com/security/cve/CVE-2026-14781 Added Reference https://bugzilla.redhat.com/show_bug.cgi?id=2497118