Argo CD: Arbitrary code execution via Helm downloader plugin (CVE-2026-113709)
Argo CD versions 2.1.0 through 3.6.0-rc1 are vulnerable to arbitrary code execution if --enable-helm is used, allowing attackers to inject a malicious Helm plugin via repository-controlled configuration.
CVE search metadata
CVE search record: CVE-2026-113709. Severity: critical. CVSS: 9.9. KEV: no. Product: Argo CD (2.1.0 to <3.3.15, 3.4.0 to <3.4.10, 3.5.0 to <3.5.4, 3.6.0-rc1). Brief: Argo CD: Arbitrary code execution via Helm downloader plugin (CVE-2026-113709). Brief link: https://feed.craftedsignal.io/briefs/2026-10-argo-cd-rce/
Triage facts
Revision 2- Applicability
- Argo CD (2.1.0 to <3.3.15, 3.4.0 to <3.4.10, 3.5.0 to <3.5.4, 3.6.0-rc1)
- Evidence
- Unknown
- Severity
- Critical
- Action
- Immediate escalation
- Sources
- 2 public sources
- Freshness
- Revision 2Oct 20, 20:45 UTC
- Vulnerabilities
- 1 CVE
- Source quality
- A1Likely
Revision history 1 entry · Revision 2
- Revision 2
poc_available
Changed: has_poc, lastmod, poc_references, references, updates
Sources: 1
Argo CD, a GitOps continuous delivery tool, contains a vulnerability (CVE-2026-113709) that enables remote code execution within the 'argocd-repo-server' component. This vulnerability is present in versions 2.1.0 through 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2. The flaw occurs when the '--enable-helm' flag is enabled for Kustomize builds. An attacker can influence the 'helmGlobals.configHome' setting to point to a directory controlled by a Git repository or via the 'manifestsWithFiles' API endpoint.
Because Helm automatically loads downloader plugins from the '<configHome>/.data/plugins' directory without additional installation steps, an attacker can place a malicious executable in this path. When the 'argocd-repo-server' attempts to process a chart using a protocol handled by the plugin, it executes the payload under the context of the 'repo-server' user. This allows for the exfiltration of repository credentials and sensitive environment data. This exploit requires only 'Application get' permissions.
Attack Chain
- The operator enables '--enable-helm' within the Argo CD Kustomize build configuration.
- The attacker gains read access to an existing Application, or the ability to commit to a Git repository used by an Application.
- The attacker crafts a malicious Helm downloader plugin.
- The attacker defines a Kustomization file that sets 'helmGlobals.configHome' to a repository-controlled directory.
- The attacker commits the plugin and configuration to a Git repository, or uploads the files via the 'POST /api/v1/applications/manifestsWithFiles' endpoint.
- The 'argocd-repo-server' performs a build operation, causing Helm to identify and load the malicious plugin from the attacker-controlled directory.
- The Helm plugin executes as the 'repo-server' user during the manifest generation process.
- The attacker exfiltrates sensitive repository credentials or process-accessible data from the 'argocd-repo-server' environment.
Impact
Successful exploitation allows for complete compromise of the 'argocd-repo-server' execution context. Attackers can steal repository credentials, access secret management data, and potentially pivot into the broader Kubernetes cluster environment, depending on the service account permissions granted to the Argo CD controller.
Recommendation
- Upgrade to the patched versions of Argo CD: 3.3.15, 3.4.10, 3.5.4, or 3.6.0-rc2 immediately.
- Review deployments for the use of the '--enable-helm' flag; disable this flag if Helm plugin functionality is not required for Kustomize builds.
- Restrict 'Application get' permissions to minimize the exposure of the 'manifestsWithFiles' API endpoint.
Immediate actions
Patch Argo CD to version 3.3.15, 3.4.10, 3.5.4, or 3.6.0-rc2.
Mitigations
Disable --enable-helm flag in Kustomize build configuration if not strictly required.
CVE-2026-113709