Frequently Asked Questions

AKS RunCommand Vulnerability & Technical Details

What is the AKS RunCommand vulnerability discovered by Cymulate?

The AKS RunCommand vulnerability is a security weakness in Azure Kubernetes Service's RunCommand feature, where an Entra ID access token intended for a single administrative operation could be intercepted and replayed across other AKS clusters within the same tenant. This allowed attackers with local node access or cluster-admin privileges to impersonate administrators and gain cluster-admin access to multiple clusters. (Source: Cymulate Blog, May 13, 2026)

How could attackers exploit the AKS RunCommand vulnerability?

Attackers could exploit the vulnerability by intercepting the Entra ID access token injected into the RunCommand pod's filesystem during command execution. With this token, which was not bound to a specific cluster, attackers could impersonate the administrator and perform cluster-admin operations on any AKS cluster in the tenant that the user had access to. (Source: Cymulate Blog)

What are the main security weaknesses identified in AKS RunCommand?

The main weaknesses are: (1) Sensitive credentials exposure—tokens are accessible to processes within the node; (2) Improper access control—RunCommand pods are scheduled on user nodes, not just system nodes; (3) Improper authorization—tokens carry broad scope, granting access to all AKS clusters in the tenant based on the user's privileges. (Source: Cymulate Blog)

What is lateral movement in the context of this vulnerability?

Lateral movement refers to an attacker's ability to move from one compromised resource (such as a node or cluster) to others within the same environment. In this case, a stolen Entra ID token could be used to access and control other AKS clusters in the same tenant, bypassing traditional isolation boundaries. (Cymulate Glossary)

How did Microsoft address the AKS RunCommand vulnerability?

Microsoft deployed a cloud-side fix that requires a managed identity to be assigned to the AKS cluster. Now, when RunCommand is invoked, the token and resulting Kubernetes privileges originate from the managed identity, not the invoking user. This limits the blast radius to the permissions assigned to the managed identity. (Source: Cymulate Blog)

What is a Proof-of-Possession (PoP) token and how does it differ from the tokens used in AKS RunCommand?

A Proof-of-Possession (PoP) token is cryptographically bound to a key controlled by the client and scoped to a specific request, preventing reuse. Standard AKS RunCommand uses bearer tokens that are not PoP-bound, making them susceptible to replay attacks. Arc-enabled clusters use PoP tokens, which are more secure. (Source: Cymulate Blog)

What practical steps should CISOs and organizations take to mitigate risks related to AKS RunCommand?

Organizations should: (1) Assign only necessary permissions to the managed identity; (2) Prioritize identity-centric monitoring and hardening; (3) Constrain privileged identity authentication; (4) Hunt for token reuse anomalies; (5) Validate detection rules in SIEM, XDR, and Microsoft Defender for Cloud. (Source: Cymulate Blog)

How does the AKS RunCommand vulnerability impact cloud security boundaries?

The vulnerability allows attackers to bypass logical boundaries such as clusters, resource groups, subscriptions, and VNets, as well as network segmentation. A single stolen token can provide access across multiple environments, increasing the risk of data exfiltration and service disruption. (Source: Cymulate Blog)

What is the role of managed identities in the updated AKS RunCommand implementation?

Managed identities are now required for AKS clusters. When RunCommand is invoked, the managed identity's permissions determine what actions can be performed, reducing the risk of privilege escalation and lateral movement compared to using broad user tokens. (Source: Cymulate Blog)

Who discovered the AKS RunCommand vulnerability and what is their background?

The vulnerability was discovered by Ben Zamir, a Security Researcher at Cymulate. Ben specializes in penetration testing, red teaming, infrastructure and cloud security, defense evasion, malware engineering, and Breach and Attack Simulation development. (Author Profile)

What is Azure Kubernetes Service (AKS) and how does it use Entra ID authentication?

Azure Kubernetes Service (AKS) is Microsoft's managed Kubernetes offering on Azure. In Entra ID authentication deployments, both cluster access and administrative operations are authenticated through Azure Active Directory, tying Kubernetes RBAC directly to Azure identity. (Source: Cymulate Blog)

How does the RunCommand feature work in AKS?

RunCommand allows administrators to execute commands on an AKS cluster without direct network connectivity to the Kubernetes API server. Azure creates a short-lived pod in the aks-command namespace, injects an Entra ID access token, executes the command, and then terminates the pod. (Source: Cymulate Blog)

Why are RunCommand pods scheduled on user nodes a security risk?

Scheduling RunCommand pods on user nodes increases risk because these nodes often host externally exposed workloads. If a user node is compromised, an attacker can access the RunCommand pod and extract privileged tokens, enabling lateral movement and privilege escalation. (Source: Cymulate Blog)

What is the impact of the AKS RunCommand vulnerability on production environments?

The vulnerability enables attackers to gain cluster-admin access on production clusters, read secrets, exfiltrate data, deploy backdoored containers, and disrupt services, significantly increasing the blast radius of a compromise. (Source: Cymulate Blog)

How can organizations validate their detection and response to identity-based attack paths?

Organizations can use Cymulate's identity and cloud attack scenarios to continuously validate their ability to detect and respond to identity-based attack paths, ensuring that security controls are working as intended. (Source: Cymulate Blog)

Where can I find more technical details and guidance about the AKS RunCommand vulnerability?

Full technical details, exploitation walkthroughs, and practical guidance for CISOs and organizations are available in the original Cymulate blog post: AKS RunCommand Weakness Enabled Cross-Cluster Token Abuse.

What is the significance of identity as a security boundary in cloud environments?

Identity is now the primary security boundary in cloud environments. If an attacker can access a valid token, they can often bypass traditional isolation mechanisms such as clusters, resource groups, and networks. Strong identity-focused monitoring and controls are essential. (Source: Cymulate Blog)

How does Cymulate help organizations address vulnerabilities like AKS RunCommand?

Cymulate enables organizations to continuously validate their security controls, uncover privilege escalation paths, and assess exposure across hybrid environments using advanced attack simulations and exposure management. (Source: Cymulate Platform)

Where can I request a personalized demo of Cymulate's exposure validation platform?

You can request a personalized demo of Cymulate's exposure validation platform by visiting the demo request page.

Cymulate Platform: Features, Use Cases & Benefits

What is Cymulate and what does the platform do?

Cymulate is a leader in exposure management and security validation. The platform enables organizations to continuously assess, simulate, and improve their security posture by validating defenses against real-world threats, identifying and prioritizing vulnerabilities, and optimizing security controls. (Source: Cymulate Press Release)

What are the key features and capabilities of Cymulate?

Cymulate offers continuous threat validation, exposure awareness, defensive posture optimization, attack path discovery, automated mitigation, integration with security tools, and dedicated cloud validation features. The platform provides actionable insights, measurable risk reduction, and improved operational efficiency. (Source: Cymulate Platform)

Who can benefit from using Cymulate?

Cymulate is designed for CISOs, Security Operations (SecOps) teams, Red Teams, Vulnerability Management teams, and Detection Engineers. It serves organizations of all sizes and industries, especially those with complex security needs and a focus on proactive threat management. (Source: EM Platform Message Guide.pdf)

What business impact can organizations expect from Cymulate?

Organizations using Cymulate typically achieve a 30% improvement in threat prevention, a 52% reduction in critical exposures, a 60% increase in operational efficiency, and an 81% reduction in cyber risk within four months. (Source: Cymulate Demo Page)

How easy is it to implement Cymulate and start using it?

Cymulate is designed for rapid deployment and ease of use. It operates in agentless mode, requiring no additional hardware or complex configurations. Customers can start running simulations almost immediately after deployment. (Source: Cymulate)

What feedback have customers given about Cymulate's ease of use?

Customers consistently praise Cymulate for its intuitive design and ease of use. Testimonials highlight simple implementation, a user-friendly dashboard, and actionable insights accessible even for teams with limited resources. (Source: Cymulate)

What types of integrations does Cymulate support?

Cymulate integrates with a wide range of security tools, including endpoint security (e.g., CrowdStrike Falcon, Carbon Black EDR), cloud security (AWS GuardDuty, Wiz), SIEM (Splunk), vulnerability management (Rapid7 InsightVM), network security (Akamai Guardicore), and SOAR platforms. (Full list of integrations)

What technical documentation is available for Cymulate?

Cymulate provides technical documentation such as the Custom Attack Simulations data sheet, Exposure Management Platform whitepaper, Technology Integrations data sheet, and the Gartner Market Guide for Adversarial Exposure Validation. (Cymulate Resources)

What security and compliance certifications does Cymulate hold?

Cymulate holds SOC2 Type II, ISO 27001:2013, ISO 27701, ISO 27017, and CSA STAR Level 1 certifications, demonstrating adherence to industry-leading security and privacy standards. (Source: Cymulate Security)

How does Cymulate compare to competitors like AttackIQ, Mandiant, Pentera, Picus, SafeBreach, Scythe, and NetSPI?

Cymulate differentiates itself with the industry's largest threat scenario library, AI-powered automation, continuous innovation, and a unified platform for exposure management. Each competitor has different strengths, but Cymulate is recognized for its ease of use, comprehensive coverage, and measurable outcomes. (Cymulate vs Competitors)

What pricing model does Cymulate use?

Cymulate operates on a subscription-based pricing model, customized to each organization's needs. Pricing depends on the chosen package, number of assets, and scenarios selected. For a tailored quote, organizations can schedule a demo with Cymulate. (Source: Internal Manual)

What are some real-world case studies demonstrating Cymulate's value?

Case studies include Hertz Israel reducing cyber risk by 81% in four months, Nemours Children's Health increasing visibility and detection, Banco PAN optimizing security controls, and Nedbank improving operational efficiency. (Cymulate Customers)

How does Cymulate address the pain points of different security personas?

Cymulate tailors solutions for Red Teams (scalable offensive testing), Detection Engineers (closing SIEM coverage gaps), and Vulnerability Management teams (prioritizing exposures and managing unpatchable risks), ensuring each role can effectively manage their responsibilities. (Source: EM Platform Message Guide.pdf)

Where can I find Cymulate's blog, research, and resource hub?

You can read the latest research and blog posts at Cymulate Blog, explore technical resources at Resource Hub, and find author-specific research at Cymulate Research Lab.

What information is required to subscribe to the Cymulate blog?

To subscribe to the Cymulate blog, you need to provide your full name, email address, and country of residence. (Source: Cymulate Privacy Policy)

What is Cymulate's overarching vision and mission?

Cymulate's mission is to empower organizations worldwide against threats and make advanced cybersecurity as simple as sending an email. The vision is to lead the way in how companies implement cybersecurity strategies, making the world a safer place. (Source: Cymulate About Us)

What is Cymulate's company history and global reach?

Cymulate was founded in 2016 by former IDF intelligence officers and cyber researchers. The company has over 1,000 customers in 50 countries and operates globally with offices in eight locations. (Source: Cymulate About Us)

Introducing Cymulate Vero AI for Agentic Cyber Defense Engineering
Learn More
New: 2026 Gartner® Market Guide for Adversarial Exposure Validation
Learn More
New Research: Exploiting Configuration Trust in AI Coding Tools
Learn More
New Case Study: How a Financial Authority Validates Cyber Resilience
Learn More

AKS RunCommand Vulnerability Enables Cross-Cluster Privilege Escalation

By: Ben Zamir

May 13, 2026

A newly disclosed weakness in Azure Kubernetes Service’s RunCommand feature created a path for attackers to intercept a privileged Entra ID access token during command execution and replay it against other AKS clusters in the same tenant. 

The issue, discovered by Ben Zamir from Cymulate Research Labs, showed how a token intended for a single administrative RunCommand operation could become a tenant-wide lateral movement primitive. Because the token was broadly scoped and not bound to a specific cluster or host, an attacker with local node access or existing cluster-admin privileges could use it to impersonate the invoking administrator across other AKS environments. 

This research highlights a growing cloud security problem: once attackers gain access to identity material, traditional boundaries such as clusters, resource groups, subscriptions, VNets, and environments may no longer provide meaningful isolation. 

Executive Summary 

 A chain of weaknesses was identified in the Azure Kubernetes Service (AKS) RunCommand feature when used with Microsoft Entra ID authentication. These issues allowed an attacker with either local node access or existing cluster-admin privileges to intercept a valid Entra ID access token during RunCommand execution. 

Because the token was broadly scoped at the tenant level and was not bound to a specific cluster, host, or request, it could be replayed in a pass-the-token attack. This allowed the attacker to impersonate the administrative user and gain cluster-admin access to other AKS clusters within the same tenant, based on that user’s permissions. 

Following responsible disclosure, Microsoft acknowledged the issue and deployed a cloud-side fix, which has been automatically applied to AKS clusters. This blog post outlines the technical details, exploitation paths, and recommended mitigations.  

Check out the practical, actionable advice for CISOs and organizations currently utilizing AKS at the end of this blog

AKS RunCommand Privilege & Token Security Weaknesses 

Our research identified three key findings of sensitive credentials exposure, improper access control and improper authorization. 

Sensitive Credentials Exposure 

When using the RunCommand feature over an Entra ID managed AKS cluster, an Entra ID access token is injected into the RunCommand pod’s filesystem where it is accessible to processes within the node or identities with cluster-based access, enabling token theft and cross-cluster lateral movement

Improper Access Control

RunCommand pods are not restricted to system node pools, they are scheduled on user nodes. This enables a low-privileged user node compromise to escalate to cluster-admin and then move laterally across clusters. 

Improper Authorization

RunCommand injects tokens that carry a broad scope granting access to every AKS cluster in the tenant based on the impersonated user's privileges. 

Building Blocks of the Exposure and Attack 

What is Azure Kubernetes Service (AKS)?  

Azure Kubernetes Service is Microsoft's managed Kubernetes offering on Azure. AKS abstracts away control-plane management, Microsoft operates the API server, etcd, and scheduler, while customers manage their workloads across one or more node pools. Node pools come in two flavors: system node pools, which run core Kubernetes components, and user node pools, which host application workloads. In Entra ID auth type deployments, both cluster access and administrative operations are authenticated through Azure Active Directory, tying Kubernetes RBAC directly to Azure identity. 

What is the RunCommand feature?  

Run Command allows administrators to execute commands on an AKS cluster without requiring direct network connectivity from their local machine to the Kubernetes API server. This is especially useful for private clusters where the API server is not publicly accessible. However, the feature still relies on Azure’s control plane being able to reach the cluster nodes, so it does not work in fully isolated environments. 

When a user invokes RunCommand, whether from the Azure Portal, the Azure CLI (az aks command invoke), or the Azure SDK, the following happens under the hood: 

1. Azure creates a short-lived pod inside the aks-command namespace of the target cluster. That pod will execute the command inside the cluster’s network. 

2. The invoking user requests an Entra ID access token which is automatically injected into the pod as a Kubernetes secret volume before the command runs. 

3. The command is executed inside the pod. Using the injected credentials, the pod can execute authenticated commands with the same permissions the administrator holds in the cluster. 

4. The pod terminates once execution is complete and results are returned to the caller. 

The Run Command pod isn’t restricted to system node pools and may be scheduled on user nodes instead. This introduces additional risk, since user nodes typically host primary and sometimes externally exposed workloads. If such a node is compromised (for example, via a pod-to-node escape), it could provide a path to interact with the sensitive Run Command pod. More on that below. 

Why AKS RunCommand tokens can be reused across clusters 

In Entra ID-integrated AKS deployments, the token injected into the RunCommand pod is scoped to the tenant’s AKS service and not to any individual cluster. This means the same credential is valid across every AKS cluster in the tenant that the authenticating user has access to. The token is also a plain bearer token with no Proof-of-Possession binding, meaning it can be replayed freely by anyone who obtains a copy of it. 

Individually, these design choices might be acceptable trade-offs. The problem arises when the token is accessible to anything other than the intended command execution, which is exactly what the vulnerabilities described below enable. 

What is a Proof-Of-Possession type token and how Arc-joined clusters use them?  

 A Proof-of-Possession (PoP) token is a security token that is cryptographically bound to a key controlled by the client. It is also scoped to a specific request and includes a one-time nonce, which prevents reuse. 

When RunCommand is executed on an Arc-enabled cluster, it uses PoP tokens. This means that even if a token is intercepted, it cannot be replayed. 

Azure Arc–enabled clusters rely on PoP tokens to ensure that only the legitimate client can use a token for a specific request. In contrast, standard AKS RunCommand does not provide the same level of protection against token replay. 

Exploitation Walkthrough 

Two distinct attack paths were validated during research, each reflecting realistic threat scenarios in enterprise Azure environments. 

Option A: From a Cluster-Admin Starting Point 

An attacker who already holds cluster-admin in an Entra ID authentication integrated AKS cluster can intercept the administrator's token by targeting the RunCommand execution pod lifecycle. 

1. Set an Interception Trap.  

The attacker deploys a Kubernetes admission webhook or a policy rule (e.g., via Kyverno) within the aks-command namespace that intercepts newly created execution pods and pauses them before they complete. Because RunCommand pod lifecycles are tightly coupled to command execution duration, pausing ensures the pod remains alive long enough for token extraction. 

2. Wait for a Legitimate RunCommand Invocation.  

The attacker waits for an administrative user to invoke RunCommand through the Azure Portal, CLI, or SDK as part of normal operations. This is a routine action for platform engineers and cluster administrators. 

3. Token Automatically Injected Into the Pod.  

When the RunCommand pod is created, AKS automatically injects the administrative user's Entra ID access token into the pod's Kubernetes secret file before executing the command. This token is the same one used to authenticate the administrator against the AKS cluster API. 

4. Exec Into the Pod and Extract the Token.  

Using kubectl exec, the attacker drops into the paused pod and reads the injected secret from the pod's filesystem. Inspection of the token reveals it is bound only to the tenant, not to a specific cluster or resource group. 

Note: This process can be fully automated. An attacker can deploy a silent "trap" that extracts the token and immediately releases the execution pod, making the attack subtle and nearly instantaneous. 

5. Pass-the-Token Across Clusters.  

Because the extracted token carries tenant-level scope and is not Proof-of-Possession bound, it can be replayed directly. The attacker uses the token to impersonate the administrative user and execute commands with full cluster-admin authority on any other AKS cluster in the tenant that the user has access to. This includes clusters in different resource groups or intended to represent different environments (e.g., production). 

Option B: From a Compromised User Node 

Because the RunCommand flow was not restricted to system nodes, it could also be abused from user nodes, which as noted above, typically host application workloads and are significantly more likely to be compromised through exposed containers such as public-facing web applications. This attack path shows that node-level access (a relatively common foothold) is sufficient to escalate into tenant-wide cluster-admin access. 

1. RunCommand Pods Land on User Nodes by Default.  

During testing, all RunCommand execution pods were observed scheduling exclusively onto user node pools rather than system node pools. Users have no control over this scheduling behavior. This is a critical design gap: a pod carrying a privileged Entra ID token may run on the same node as a compromised, externally-facing workload container. 

2. Deploy a Listening Exploit on the Compromised Node 

With root access on the user node, the attacker deploys an automated exploit process. The exploit monitors the node's container runtime for new pods being created in the aks-command namespace, and upon detecting a RunCommand execution pod, automatically reads and exfiltrates the injected Entra ID access token from its secret volume. 

3. Token Is Captured Without Any User Interaction 

When an administrator invokes RunCommand from the Azure Portal, the execution pod may be scheduled on the compromised user node. The exploit silently captures the token the moment it is injected. From the victim's perspective, the RunCommand operation completes normally. 

4. Escalate Across the Tenant 

With the token in hand, the attacker proceeds as in Option A: replaying the token in a pass-the-token attack against other AKS clusters in the tenant, inheriting all privileges of the impersonated administrator. 

Impact 

The combined exploitation of these weaknesses breaks multiple security boundaries simultaneously. Because the tenant-scoped bearer token is not bound to any specific cluster or audience, a single interception event can enable: 

  • Logical boundary bypass, resource groups, environments (dev/staging/prod), and subscriptions can all be crossed using a single stolen token 
  • Network segmentation bypass, different VNet configurations offer no protection. Token replay works against any reachable AKS API endpoint 
  • Workload compromise, cluster-admin access on production clusters enables reading secrets, exfiltrating data, deploying backdoored containers, and disrupting services 
  • Compounding risk with managed identities, cluster workloads frequently carry managed identity credentials. Cross-cluster access multiplies the blast radius significantly 

Microsoft Fix 

To mitigate this issue, Microsoft appears to have changed how AKS RunCommand handles authentication. In the current implementation, AKS requires a managed identity to be assigned to the cluster. When RunCommand is invoked, the token and resulting Kubernetes privileges originate from the attached managed identity rather than from the invoking user. 

As a result, RunCommand no longer exposes or reuses the administrator’s own Entra ID token. Instead, organizations must explicitly configure the managed identity with the permissions required for operational tasks.  

This shifts privilege scoping back to the customer. If the identity is granted broad access, RunCommand remains powerful, but the blast radius is now determined by the permissions assigned to that managed identity rather than by the privileges of the user who initiated the command. 

Practical Guidance for CISOs and Organizations 

Microsoft's cloud-side fix closes this specific token-binding gap, but the broader pattern (broadly scoped Entra ID tokens crossing cluster and tenant boundaries) is not unique to AKS RunCommand. Treat identity as a first-class security boundary and assume any token reachable from a workload or node might be replayed elsewhere in the tenant. 

Organizations operating Azure Kubernetes Service environments should:  

  • Evaluate and assign only the necessary permissions to the attached managed identity, following the principle of least privilege. 
  • Prioritize identity-centric monitoring and standard hardening practices. 
  • Constrain how privileged identities authenticate and consider Conditional Access policies 
  • Hunt for token reuse anomalies. 
  • Validate detections, do not just deploy them. Confirm your SIEM, XDR, and Microsoft Defender for Cloud rules actually fire. Cymulate's identity and cloud attack scenarios are designed for continuous end-to-end validation. 

Conclusion 

This issue highlights how identity-based attack paths can bypass traditional isolation boundaries in cloud environments. A single exposed token was enough to move across clusters and escalate privileges. 

As identity becomes the primary security boundary, detecting and preventing these attacks requires strong identity-focused monitoring and correlation across services. 

With Cymulate, security teams can continuously validate their ability to detect and respond to identity-based attack paths and ensure their controls are working as intended. 

To see how Cymulate helps organizations uncover privilege escalation paths, validate cloud identity security controls, and continuously assess exposure across hybrid environments, request a personalized demo with our team

Cymulate Exposure Validation makes advanced security testing fast and easy. When it comes to building custom attack chains, it's all right in front of you in one place.
Mike Humbert, Cybersecurity Engineer
DARLING INGREDIENTS INC.
Learn More
Book a Demo