Skip to main content

Keycloak CVE-2026-94217

| EUVDEUVD-2026-83845 LOW
Missing Authorization (CWE-862)
2026-09-21 secalert@redhat.com GHSA-2cpw-3v2x-mh42
3.5
CVSS 3.1 · Vendor: redhat
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged Keycloak user
  2. Delivery
    Create resource with name matching victim's resource
  3. Exploit
    Request authorization token via permission ticket
  4. Execution
    Server merges permissions across same-named resources
  5. Impact
    Obtain unintended access scopes on victim resource

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires Keycloak's User-Managed Access (UMA) feature to be enabled (opt-in, not a default deployment mode), and an authenticated attacker account (PR:L) able to create resources. The exploit is gated on a specific precondition: the attacker and a victim must both own resources sharing the exact same name, so the flawed permission merge occurs when the attacker requests an authorization token through the permission-ticket flow. These preconditions (UMA enablement plus name collision) substantially limit real-world exploitability and argue for higher attack complexity than the vendor's AC:L. Impact is confined to gaining unintended access scopes on the specific colliding resource.

Impact

This is a genuinely low-severity issue and should be treated as low priority. The CVSS 3.1 base score of 3.5 (AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N) reflects an authenticated (PR:L) attacker achieving only limited integrity impact (I:L) with no confidentiality or availability impact per the vendor. No EPSS score, KEV listing, or public exploit is present in the supplied data, so exploitation status is: no public exploit identified at time of analysis. The CWE-862 (missing authorization) classification is consistent with the described logic flaw. Two vector points warrant scrutiny: the vendor sets AC:L, but exploitation depends on a specific precondition - two distinct users owning resources with the identical name AND the UMA feature being enabled - which more realistically maps to AC:H; and UI:R is questionable since the described merge occurs when the attacker requests an authorization token, with no obvious victim interaction required. The C:N assignment is also arguable, as gaining unintended access scopes on a victim resource could permit reads (confidentiality), not just integrity. These are refinements, not escalations - the overall risk remains low. The 'Authentication Bypass' tag is a mislabel; this is an authorization/broken-access-control defect, not an authentication bypass.

Exploit ScenarioDerived

An authenticated Keycloak user on a realm with UMA enabled creates a resource whose name exactly matches the name of a resource owned by a victim user. When the attacker requests an authorization token via the permission-ticket flow, the endpoint merges permissions across the two same-named resources, granting the attacker access scopes on the victim's resource that were never shared. No public exploit code is identified at time of analysis.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 21, 2026

In Keycloak, a flaw in the User-Managed Access (UMA) permission-ticket flow can cause authorization scopes from two same-named resources owned by different users to be merged, allowing an authenticated attacker to obtain unintended access scopes on a victim's resource. The issue affects deployments where UMA is explicitly enabled and requires the attacker to have an account that can create resources plus a resource-name collision with the victim; it is not a default deployment mode. Independent assessment rates this low severity and confines impact to scope leakage on the specific colliding resource; no public exploit code and no confirmed active exploitation were identified at time of analysis.

RemediationAI

No vendor-released patch identified at time of analysis; monitor the Red Hat advisory at https://access.redhat.com/security/cve/CVE-2026-94217 and Bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=2537313 for a fixed version and apply it when available. Because the flaw is gated on UMA being enabled, the most direct compensating control is to disable UMA authorization services for realms or clients that do not require them; this removes the vulnerable permission-ticket flow but also disables UMA-protected resource sharing. If UMA must remain enabled, restrict the ability to create resources to trusted accounts, since the attacker must be able to create a resource whose name collides with the victim's resource, and consider namespace-per-owner resource naming or a custom authorization lookup that enforces owner scoping until an upstream fix is applied, though such changes can break existing resource references. Monitor authorization token endpoint activity for permission tickets involving duplicate resource names across different owners, and treat any resulting scope grants as low-priority but real unauthorized access until the code is corrected.

Affected ProductsAI

The affected product is Keycloak, specifically its User-Managed Access (UMA) implementation. No version ranges, CPE strings, or fixed-version data were provided in the available intelligence, so the exact vulnerable builds cannot be listed here. Keycloak deployments are in scope only when UMA is enabled and users can create resources; the vendor references are the Red Hat CVE advisory at https://access.redhat.com/security/cve/CVE-2026-94217 and the associated Bugzilla at https://bugzilla.redhat.com/show_bug.cgi?id=2537313.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Keycloak's User-Managed Access (UMA) implementation extends OAuth 2.0 by letting resource owners register resources and use permission tickets to request authorization tokens from the authorization token endpoint. The flaw is a missing authorization boundary (CWE-862): when two different users own resources with the same name, the endpoint's permission-ticket processing can merge the scopes from both resources instead of resolving only the requesting user's resource and its owner-approved permissions. This lets the attacker request a ticket that yields scopes on the victim's same-named resource. No CPE strings were supplied in the source data, so exact affected version ranges cannot be enumerated from this input; the Red Hat advisory and Bugzilla references identify the vendor's Keycloak UMA code as the locus. The vendor CVSS vector lists AC:L and UI:R, while the independent assessment assesses AC:H and UI:N because UMA must be enabled and a precise resource-name collision must exist, with PR:L reflecting the need for an authenticated account able to create resources.

Know when Keycloak gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (redhat) PRIMARY 3.5 LOW
AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N
vuln.today AI 4.2 MEDIUM

Authenticated attacker (PR:L) over network; AC:H for the required UMA-enabled config plus same-name resource collision; UI:N since no victim action is needed; C:L/I:L as leaked scopes can read and modify.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (redhat).

CVSS VectorVendor: redhat

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

DescriptionCVE.org

A flaw was found in the User-Managed Access (UMA) implementation of Keycloak. The issue occurs in the authorization token endpoint when processing permission tickets. If two different users own resources with the same name, the system incorrectly merges the permissions from both resources when one user requests an authorization token. This allows an attacker to gain access scopes on a victim's resource that were never intended to be shared.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
High
Keycloak is a widely-deployed open-source enterprise IAM platform
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
High

Priority Score

18
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +18
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

CVE-2014-3709 HIGH POC
8.8 Oct 18

The org.keycloak.services.resources.SocialResource.callback method in JBoss KeyCloak before 1.0.3.Final allows remote at

CVE-2023-6563 HIGH POC
7.7 Dec 14

An unconstrained memory consumption vulnerability was discovered in Keycloak. Rated high severity (CVSS 7.7), this vulne

CVE-2022-1466 MEDIUM POC
6.5 Apr 26

Due to improper authorization, Red Hat Single Sign-On is vulnerable to users performing actions that they should not be

CVE-2017-7474 CRITICAL
9.8 May 12

It was found that the Keycloak Node.js adapter 2.5 - 3.0 did not handle invalid tokens correctly. Rated critical severit

CVE-2026-76187 CRITICAL
9.8 Sep 15

Authentication bypass in the Apache Airflow Keycloak auth manager provider (apache-airflow-providers-keycloak below 0.10

CVE-2022-1245 CRITICAL
9.8 Jul 08

A privilege escalation flaw was found in the token exchange feature of keycloak. Rated critical severity (CVSS 9.8), thi

CVE-2019-14910 CRITICAL
9.8 Dec 05

A vulnerability was found in keycloak 7.x, when keycloak is configured with LDAP user federation and StartTLS is used in

CVE-2021-20195 CRITICAL
9.6 May 28

A flaw was found in keycloak in versions before 13.0.0. Rated critical severity (CVSS 9.6), this vulnerability is remote

CVE-2023-6134 MEDIUM POC
5.4 Dec 14

A flaw was found in Keycloak that prevents certain schemes in redirects, but permits them if a wildcard is appended to t

CVE-2022-0225 MEDIUM POC
5.4 Aug 26

A flaw was found in Keycloak. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable, low attack c

CVE-2020-10770 MEDIUM POC
5.3 Dec 15

A flaw was found in Keycloak before 13.0.0, where it is possible to force the server to call out an unverified URL using

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy