CVE-2025-59359 Overview
CVE-2025-59359 is a critical OS command injection vulnerability in the cleanTcs mutation of the Chaos Controller Manager component within Chaos Mesh. This vulnerability allows unauthenticated in-cluster attackers to inject arbitrary operating system commands, leading to remote code execution across the Kubernetes cluster. When chained with CVE-2025-59358, this vulnerability enables complete cluster takeover without requiring any authentication.
Critical Impact
Unauthenticated attackers within the cluster network can achieve remote code execution across the entire Kubernetes cluster, potentially leading to complete infrastructure compromise, data exfiltration, and lateral movement to connected systems.
Affected Products
- Chaos Mesh (chaos-mesh:chaos_mesh)
- Chaos Controller Manager component
- Kubernetes deployments running vulnerable Chaos Mesh versions
Discovery Timeline
- 2025-09-15 - CVE-2025-59359 published to NVD
- 2025-10-14 - Last updated in NVD database
Technical Details for CVE-2025-59359
Vulnerability Analysis
This vulnerability is classified as CWE-78 (Improper Neutralization of Special Elements used in an OS Command), commonly known as OS command injection. The flaw exists in the cleanTcs mutation handler within the Chaos Controller Manager, a core component responsible for managing chaos engineering experiments in Kubernetes environments.
The vulnerability allows attackers to inject malicious commands through unsanitized input that is subsequently passed to system shell execution. Since Chaos Mesh operates with elevated privileges within Kubernetes clusters to perform its chaos engineering functions, successful exploitation grants attackers the same level of access—typically cluster-wide administrative capabilities.
What makes this vulnerability particularly dangerous is its chainability with CVE-2025-59358. Together, these vulnerabilities create an attack path that allows completely unauthenticated in-cluster attackers to execute arbitrary code across multiple nodes, effectively achieving full cluster compromise.
Root Cause
The root cause of this vulnerability stems from insufficient input validation and sanitization in the cleanTcs mutation handler. User-controlled input is passed directly to OS command execution functions without proper escaping or validation of special characters. This allows attackers to break out of the intended command context and inject additional commands using shell metacharacters such as semicolons, pipes, or command substitution syntax.
Attack Vector
The attack vector is network-based and does not require authentication, user interaction, or special privileges. An attacker with network access to the cluster can craft malicious GraphQL mutation requests to the cleanTcs endpoint. By including specially crafted payloads containing shell metacharacters and malicious commands, the attacker can execute arbitrary code on nodes running the Chaos Controller Manager.
The attack chain typically involves:
- Identifying a Chaos Mesh deployment within the target Kubernetes cluster
- Crafting a malicious cleanTcs mutation request with embedded shell commands
- Sending the request to the Chaos Controller Manager API
- Achieving code execution with the privileges of the Chaos Controller Manager service account
For detailed technical analysis and exploitation mechanics, refer to the JFrog Security Research Blog which provides comprehensive coverage of this vulnerability chain.
Detection Methods for CVE-2025-59359
Indicators of Compromise
- Unusual GraphQL mutation requests to Chaos Controller Manager endpoints containing shell metacharacters (;, |, $(), backticks)
- Unexpected process spawning from Chaos Controller Manager pods
- Anomalous network connections originating from Chaos Mesh components
- Kubernetes audit log entries showing suspicious API calls to Chaos Mesh custom resources
Detection Strategies
- Monitor Kubernetes audit logs for unusual activity targeting Chaos Mesh custom resource definitions (CRDs)
- Implement network policy monitoring to detect unexpected egress traffic from Chaos Controller Manager pods
- Deploy runtime security monitoring to detect shell command execution patterns inconsistent with normal Chaos Mesh operations
- Correlate detection for CVE-2025-59358 exploitation attempts, as these vulnerabilities are commonly chained together
Monitoring Recommendations
- Enable verbose logging on Chaos Controller Manager deployments and forward logs to a centralized SIEM
- Configure alerts for any cleanTcs mutation requests containing suspicious character patterns
- Implement container runtime monitoring to detect command injection attempt signatures
- Monitor for unexpected file system modifications or binary executions within Chaos Mesh pods
How to Mitigate CVE-2025-59359
Immediate Actions Required
- Review and audit all Chaos Mesh deployments in your Kubernetes infrastructure
- Apply the security patch from the official Chaos Mesh repository immediately
- Implement network policies to restrict access to Chaos Controller Manager endpoints to only trusted sources
- Consider temporarily disabling Chaos Mesh if patching cannot be performed immediately
Patch Information
The Chaos Mesh maintainers have addressed this vulnerability through a security update. Organizations should apply the fix available in GitHub Pull Request #4702. This patch implements proper input sanitization for the cleanTcs mutation handler, preventing command injection attacks.
Upgrade to the latest patched version of Chaos Mesh as specified in the official security advisory. Ensure all nodes in your Kubernetes cluster are running the updated Chaos Controller Manager image.
Workarounds
- Implement strict Kubernetes NetworkPolicies to limit which pods can communicate with Chaos Controller Manager
- Deploy a Web Application Firewall (WAF) or API gateway with command injection detection rules in front of Chaos Mesh endpoints
- Use Kubernetes RBAC to restrict which service accounts can interact with Chaos Mesh custom resources
- Consider isolating Chaos Mesh deployments to dedicated namespaces with enhanced security controls
# Example NetworkPolicy to restrict Chaos Controller Manager access
kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: restrict-chaos-controller
namespace: chaos-mesh
spec:
podSelector:
matchLabels:
app.kubernetes.io/component: controller-manager
policyTypes:
- Ingress
ingress:
- from:
- namespaceSelector:
matchLabels:
chaos-mesh-access: "true"
EOF
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


