Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRead InfraEnvStatus.ISODownloadURL object
-
DeliveryExtract plaintext JWT from URL
-
ExploitAuthenticate to assisted-service API with JWT
-
ExecutionCall GET /v2/clusters/{cluster_id}/credentials
-
PersistReceive kubeadmin password and kubeconfig
-
ImpactUse credentials to authenticate to spoke cluster as root
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V14 - Data Protection Encrypted storage of sensitive data
|
| Exploitation Conditions | Exploitation requires: (1) Valid authentication to the MCE hub (user account with any authenticated role). (2) The hub must be configured in AUTH_TYPE=local mode, which is the only mode available in on-premises ACM/MCE deployments. (3) The attacker must have read (get) permissions on at least one InfraEnv object in any namespace they can access (typically their own namespace). (4) An InfraEnv object must exist in the cluster with a populated ISODownloadURL containing an embedded valid JWT. (5) The target spoke cluster must be provisioned through the same hub and have a cluster_id known or guessable by the attacker. Note that UI:R in the CVSS vector suggests user interaction (downloading the ISO) is required, but the actual exploitation does not require ISO download-reading the URL from InfraEnvStatus object metadata is sufficient and requires only 'get' API calls. The vulnerability does not affect SaaS deployments (console.redhat.com) which use a different authentication mode, and it is limited to on-premises or hybrid deployments using AUTH_TYPE=local. Default configurations of MCE in local auth mode are vulnerable; no special non-default settings are needed to enable exploitation beyond the presence of an InfraEnv object with a valid JWT. |
| Impact | This vulnerability presents significant real-world risk despite a CVSS score of 6.1. The CVSS vector (AV:A/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N) indicates adjacent network access, low attack complexity, low privileges required, and user interaction needed, with scope change and high confidentiality impact. However, the actual risk profile is elevated by multiple factors not fully captured in the score: (1) The vulnerability requires authenticated access but only to a namespace-scoped object, not full cluster admin rights, making the PR:L accurate but misleading about the barrier to entry. (2) UI:R (user interaction) suggests downloading the ISO is required, but the real exploitation is reading a plaintext JWT from an already-accessible object metadata field-trivial for anyone with namespace visibility. (3) The scope change (S:C) correctly reflects that spoke clusters beyond the hub are compromised. (4) Information disclosure is limited to confidentiality (C:H) but grants unrestricted root-level access to production clusters, which is a de facto integrity and availability impact. (5) No KEV status or POC data provided, but the straightforward nature of the attack (read a URL, extract a JWT, call an API) makes exploitation highly automatable. (6) Exploitation is limited to on-premises deployments using AUTH_TYPE=local; the SaaS offering (console.redhat.com) is explicitly not affected. This signals that patching or deploying with the correct auth mode is feasible. Real-world priority should be HIGH for on-premises MCE deployments with multi-tenant namespace access, MEDIUM for single-tenant or tightly isolated environments, and LOW for air-gapped or SaaS-only deployments. |
| Exploit ScenarioDerived | An authenticated user (e.g., a developer or tenant with minimal namespace-scoped privileges) in a multi-tenant on-premises MCE hub deployment lists InfraEnv objects in their namespace using kubectl or the API. They inspect the ISODownloadURL field in the InfraEnvStatus, extract the plaintext JWT query parameter, and then make an authenticated HTTP GET request to /v2/clusters/{cluster_id}/credentials for an arbitrary cluster ID (discovered via other reconnaissance or metadata exposure). The assisted-service local authenticator validates the JWT and returns the kubeadmin password and kubeconfig for that spoke cluster, granting the attacker root-level administrative access to production workloads and data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 30, 2026
Authenticated users with minimal namespace-scoped privileges can obtain administrative credentials for arbitrary OpenShift clusters provisioned through the MCE hub via the assisted-service REST API. The vulnerability exists in AUTH_TYPE=local mode (the only mode available in on-premises deployments), where the local authenticator grants full administrative access to any request bearing a valid JWT with no per-endpoint restrictions. A valid JWT is embedded as plaintext in the InfraEnvStatus.ISODownloadURL, readable by any user with get rights on an InfraEnv object, enabling extraction of kubeadmin passwords and kubeconfigs for all spoke clusters.
RemediationAI
Upgrade to a patched version of MCE that implements per-endpoint authorization restrictions in the assisted-service local authenticator. Red Hat must provide a specific patch version number; check https://access.redhat.com/security/cve/CVE-2026-7163 for the exact remediation version. As immediate compensating controls: (1) Restrict read access to InfraEnv objects in the cluster namespace to only users who absolutely require it (e.g., cluster provisioning operators), removing access from general developers or testers. (2) Disable the assisted-service component entirely if cluster provisioning is not actively in use, then re-enable only during provisioning windows. (3) Implement namespace isolation and RBAC policies to prevent users from viewing InfraEnv metadata in shared namespaces. (4) Migrate to a different authentication mode (e.g., OAuth2 or OIDC) if supported by your MCE deployment, or upgrade to a version that uses per-endpoint authorization in local mode. (5) Audit logs to identify users who have accessed InfraEnv objects and obtained JWTs; assume spoke cluster credentials are compromised for any such users. Note that these controls mitigate access to the JWT but do not block exploitation once a JWT is obtained; the patch is necessary for complete remediation.
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
The assisted-service component provides REST API endpoints for cluster provisioning and credential management. The credentials download endpoint (GET /v2/clusters/{cluster_id}/credentials) and kubeconfig download endpoint are protected by a local authenticator in on-premises ACM/MCE deployments. This authenticator derives from CWE-312 (Cleartext Storage of Sensitive Information) because valid JWTs are stored as plaintext query parameters in the ISODownloadURL field of InfraEnvStatus objects. The vulnerability stems from a broken authorization model where the local authenticator does not implement per-endpoint access controls or role-based restrictions. In AUTH_TYPE=local mode, any valid JWT grants unconditional access to these credential endpoints regardless of the user's actual role or entitlements. The InfraEnv object is namespace-scoped, meaning an attacker with get permissions in their own namespace can read the URL and extract the embedded JWT, then use it to access credentials for any cluster managed by the hub.
Know when Multicluster Engine For Kubernetes 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
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
2DescriptionNVD
A vulnerability in the assisted-service REST API, an optional Assisted Installer (assisted-service) component in the Multicluster Engine (MCE), allows an authenticated user with minimal namespace-scoped privileges to obtain administrative credentials for arbitrary clusters provisioned through the hub.
The credentials download endpoint (GET /v2/clusters/{cluster_id}/credentials, which returns the kubeadmin password) and the kubeconfig download endpoint are operational in AUTH_TYPE=local mode, the only authentication mode available in on-premises ACM/MCE hub deployments. The local authenticator unconditionally grants full administrative access to any request bearing a valid JWT, with no per-endpoint restrictions. A valid local JWT is embedded as a plaintext query parameter in InfraEnvStatus.ISODownloadURL and is readable by any user who has get rights on an InfraEnv object in their own namespace.
The affected components ship as part of Multicluster Engine (MCE). The Red Hat Advanced Cluster Management (ACM) deployments that include MCE are equally affected. This issue does not affect the hosted SaaS offering (console.redhat.com), which uses a different authentication mode.
Successful exploitation gives the attacker the kubeadmin password and kubeconfig for any OpenShift cluster provisioned through the affected hub, granting unrestricted root-level administrative access to those spoke clusters.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)NVD
The system CA trust store shipped in Red Hat's ca-certificates RPM packages includes eMudhra root authorities that signe
Privilege escalation and arbitrary code execution in Red Hat's multicluster engine (MCE) for Kubernetes lets a low-privi
Privilege escalation in Red Hat's multicluster engine for Kubernetes (MCE) lets a namespace-scoped authenticated user ga
Privilege escalation in Red Hat Multicluster Engine for Kubernetes (MCE) lets a privileged service account on a managed
Authentication and authorization bypass in the cluster-proxy-addon component of Red Hat's Multicluster Engine for Kubern
Arbitrary code execution in the control plane of Red Hat Multicluster Engine for Kubernetes (HyperShift operator) is pos
Header injection in the cluster-proxy service-proxy component of Red Hat Advanced Cluster Management for Kubernetes (RHA
Improper certificate validation in Red Hat's Open Cluster Management (OCM) and Multicluster Engine for Kubernetes allows
Unauthorized ManagedCluster deletion in Red Hat Multicluster Engine (MCE) allows any tenant with standard ClusterClaim p
Supply chain code injection in Red Hat Multicluster Engine for Kubernetes (mce-operator-bundle) enables arbitrary code e
Unauthorized cross-tenant cluster takeover in Red Hat Multicluster Engine (MCE) for Kubernetes allows an authenticated t
Local privilege escalation in NetworkManager's dhclient backend allows a low-privileged local user to execute arbitrary
EUVD-2026-26374
NVD
CVE.org
EPSS
Vulnrichment
VulDB
GitHub PoC
Exploit-DB