Back to Intelligence

CVE-2026-10059: Kubernetes Multicluster Engine ClusterCurator Escalation – Defense & Detection

SA
Security Arsenal Team
August 5, 2026
5 min read

Introduction

We are tracking CVE-2026-10059, a Critical severity vulnerability (CVSS 9.1) impacting the Multicluster Engine for Kubernetes. This vulnerability represents a significant failure in namespace isolation boundaries, allowing a tenant administrator with limited, namespace-scoped privileges to completely compromise the cluster's control plane.

The flaw resides in the ClusterCurator controller. By exploiting a logic error in how the controller processes namespaced resources, a tenant can effectively mint a token for a ServiceAccount with cluster-wide administrative authority. In multi-tenant environments or organizations utilizing delegated administration, this flaw effectively renders your Role-Based Access Control (RBAC) model obsolete. Defenders need to act immediately to identify usage of the ClusterCurator and apply vendor patches.

Technical Analysis

Affected Component

The vulnerability specifically targets the Multicluster Engine for Kubernetes, specifically the ClusterCurator controller. This component is often used in Red Hat OpenShift and other managed Kubernetes platforms to manage the lifecycle of clusters.

Vulnerability Mechanics

The attack chain requires two key elements: a tenant user with namespace-admin privileges and the existence (or ability to create) of the ClusterCurator Custom Resource (CR).

  1. Initial Access: The attacker has legitimate access as a namespace-admin (or similar tenant-level role) within a specific namespace.
  2. Trigger: The tenant creates a ClusterCurator object within their scoped namespace.
  3. Privilege Escalation: Due to the flaw (CVE-2026-10059), the ClusterCurator controller inadvertently grants the tenant the ability to request a token for a highly privileged ServiceAccount (often with cluster-admin rights) outside their namespace scope.
  4. Impact: The tenant mints this token and gains full control over the entire Kubernetes cluster, bypassing all namespace isolation mechanisms.

Exploitation Status

While this CVE has just been published by NVD, the mechanics involve standard Kubernetes API interactions. We expect proof-of-concept (PoC) exploits to appear rapidly in the threat intel community. Given the high value of Kubernetes clusters, automated scanning for this specific misconfiguration/flaw is imminent.

Detection & Response

Detecting this vulnerability requires monitoring the Kubernetes Audit Logs for the creation of ClusterCurator objects and the anomalous creation of cluster-wide bindings by tenant users.

SIGMA Rules

YAML
---
title: Potential Kubernetes ClusterCurator Privilege Escalation
id: a1b2c3d4-5678-90ab-cdef-1234567890ab
status: experimental
description: Detects the creation of a ClusterCurator object by a tenant user, which could indicate an attempt to exploit CVE-2026-10059 to gain cluster-admin privileges.
references:
 - https://nvd.nist.gov/vuln/detail/CVE-2026-10059
author: Security Arsenal
date: 2026/05/20
tags:
 - attack.privilege_escalation
 - attack.t1068
logsource:
 product: kubernetes
 service: audit
detection:
 selection:
   verb: 'create'
   objectRef:
     resource: 'clustercurators'
   stage: 'ResponseComplete'
 condition: selection
falsepositives:
 - Legitimate cluster administrators creating ClusterCurators for valid multi-cluster management.
level: high
---
title: Kubernetes ClusterRoleBinding Creation by Tenant User
id: b2c3d4e5-6789-01ab-cdef-2345678901bc
status: experimental
description: Detects the creation of a ClusterRoleBinding, specifically if associated with ClusterCurator activities or high-privilege assignment by non-system users.
references:
 - https://nvd.nist.gov/vuln/detail/CVE-2026-10059
author: Security Arsenal
date: 2026/05/20
tags:
 - attack.privilege_escalation
 - attack.t1068
logsource:
 product: kubernetes
 service: audit
detection:
 selection:
   verb: 'create'
   objectRef:
     resource: 'clusterrolebindings'
 filter_system:
   user.username:
     - 'system:*'
     - 'kubernetes-admin'
 condition: selection and not filter_system
falsepositives:
 - Valid infrastructure as code (IaC) deployments by cluster admins.
level: medium

KQL (Microsoft Sentinel / Defender)

KQL — Microsoft Sentinel / Defender
// Hunt for creation of ClusterCurator objects indicative of CVE-2026-10059 exploitation
KubeAuditLogs
| where OperationName =~ "create"
| where ObjectRefResource =~ "clustercurators"
| project TimeGenerated, SourceIP, User, UserGroups, ObjectRefNamespace, ObjectRefName, RequestURI
| extend AlertContext = pack("Operation", "ClusterCurator Creation", "Risk", "Privilege Escalation Potential")

Velociraptor VQL

VQL — Velociraptor
-- Hunt for local kubectl execution commands attempting to create ClusterCurator resources
-- This identifies the attacker's endpoint tool usage
SELECT Pid, Name, CommandLine, Exe, Username, CreateTime
FROM pslist()
WHERE CommandLine =~ 'kubectl'
  AND CommandLine =~ 'apply|create'
  AND CommandLine =~ 'ClusterCurator'

Remediation Script (Bash)

Bash / Shell
#!/bin/bash
# Remediation script for CVE-2026-10059
# Checks for existence of ClusterCurator resources and advises on patching

echo "[*] Scanning for ClusterCurator objects in all namespaces..."

# Check if kubectl is available
if ! command -v kubectl &> /dev/null; then
    echo "[!] kubectl could not be found. Please run this on a node with kubeconfig access."
    exit 1
fi

# Find all ClusterCurators
CURATORS=$(kubectl get clustercurators.multicluster.openshift.io --all-namespaces -o  2>/dev/null)

if [ $? -eq 0 ]; then
  COUNT=$(echo "$CURATORS" | jq '.items | length')
  if [ "$COUNT" -gt 0 ]; then
    echo "[!] Found $COUNT ClusterCurator object(s). Reviewing..."
    echo "$CURATORS" | jq -r '.items[] | "Namespace: \(.metadata.namespace) | Name: \(.metadata.name) | Created: \(.metadata.creationTimestamp)"'
    echo "[WARNING] Vulnerable ClusterCurator objects detected. These should be reviewed for legitimacy."
  else
    echo "[+] No ClusterCurator objects found."
  fi
else
  echo "[i] ClusterCurator CRD may not be installed or API version differs."
fi

echo "[*] Checking Multicluster Engine/ClusterCurator controller version..."
# Generic check - replace with specific deployment name based on vendor documentation
kubectl get deployment -n multicluster-engine clustercurator-controller -o path='{.spec.template.spec.containers[0].image}' 2>/dev/null || echo "[i] Could not determine controller version. Please check vendor advisory."

echo "[*] ACTION REQUIRED: Update Multicluster Engine to the latest patched version per vendor advisory to mitigate CVE-2026-10059."
echo "[*] If immediate patching is impossible, restrict access to the ClusterCurator CRD to cluster-admins only."

Remediation

  1. Patch Immediately: Apply the latest security patches provided by the vendor of your Kubernetes distribution (e.g., Red Hat OpenShift, SUSE, or other Multicluster Engine providers). This is the only permanent fix for CVE-2026-10059.
  2. Restrict CRD Access: As an immediate interim measure, modify the ClusterRole/Role associated with the ClusterCurator Custom Resource Definition (CRD). Ensure that only dedicated cluster administrators have create permissions on the clustercurators.multicluster.openshift.io resource. Remove this privilege from all tenant administrators.
  3. Audit Tenant Permissions: Conduct a review of all namespace-admin and tenant roles to ensure no other overly permissive access to cluster-scoped custom resources exists.
  4. Delete Rogue Resources: If you identify ClusterCurator objects created by tenant users that are not part of a valid operational workflow, delete them immediately.

Related Resources

Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.