Argo CD: Code execution via Kustomize Helm configHome in repo-server
Summary
Argo CD versions 2.1.0 up to the fixed releases can run commands inside the repo-server when the operator has enabled --enable-helm for kustomize build. A repository-controlled helmGlobals.configHome makes Helm load a downloader plugin that runs without a separate install step. The command runs as the repo-server user and can read repository credentials and other process-accessible data. The upload path through manifestsWithFiles requires only Application get permission on an existing Application.
Affected
- Argo CD 2.1.0 up to, but excluding, 3.3.15
- Argo CD 3.4.0-rc1 up to, but excluding, 3.4.10
- Argo CD 3.5.0-rc1 up to, but excluding, 3.5.4
- Argo CD 3.6.0-rc1 up to, but excluding, 3.6.0-rc2
- Only if --enable-helm is enabled for kustomize build
Fixed in
- 3.3.15
- 3.4.10
- 3.5.4
- 3.6.0-rc2
Workaround
Unknown.
- If --enable-helm is not required for kustomize build, disable it until the patch is applied (interim measure, not a vendor instruction).
- Limit Application get permission and access to the manifestsWithFiles API to trusted users.
Exploitation
- CISA SSVC: exploitation none, automatable no, technical impact total (CNA record).
- No public exploit or confirmed in-the-wild exploitation known at the time of research.
Our recommendation
- Check whether Argo CD runs with --enable-helm for kustomize build. If it does, patch to a fixed version as a priority.
- Otherwise, include the upgrade in the regular patch cycle.
- Review who can access Argo CD and hold Application get permission, and review repo-server credentials.
- Test helmGlobals.configHome-based plugin workflows after upgrading, as they may stop working.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- Argo CD documentation: Kustomize argo-cd.readthedocs.io
- Argo CD fix commit b6d5c23 github.com
- Argo CD pull request 6059 github.com
- Argo CD release v3.3.15 github.com
- Argo CD release v3.4.10 github.com
- Argo CD release v3.5.4 github.com
- Argo CD release v3.6.0-rc2 github.com
- GitHub Security Advisory GHSA-fw5c-w8rc-j7fx github.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 30 Oct 2026, 15:12.
Original description (NVD)
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. From 2.1.0 until 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2, when an operator has enabled --enable-helm for kustomize build, helmGlobals.configHome can point Helm's config and data directories at a repository-controlled location. Helm automatically loads a downloader plugin from `<configHome>/.data/plugins` without a separate plugin-install step and executes its program inside argocd-repo-server when a helmCharts repository URL uses the plugin's protocol. The command runs as the repo-server user and can read repository credentials and other process-accessible data. An attacker can commit the Kustomization and plugin to a Git repository that an Application builds or upload the files through POST /api/v1/applications/manifestsWithFiles, also exposed by argocd app diff --local --server-side-generate. The upload path requires only Application get permission on an existing Application, without Application update or sync permission or repository write access. Both delivery paths require prior operator enablement of --enable-helm; deployments that do not enable it are not affected. Kustomize 4.1.0 first passed helmGlobals.configHome through to Helm. This issue is fixed in versions 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2.
NVD references (10)
- https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/#kustomizing-helm-charts
- https://github.com/argoproj/argo-cd/commit/b6d5c23bce2f8a46c52975ba438a3b93d242d96c
- https://github.com/argoproj/argo-cd/pull/6059
- https://github.com/argoproj/argo-cd/releases/tag/v3.3.15
- https://github.com/argoproj/argo-cd/releases/tag/v3.4.10
- https://github.com/argoproj/argo-cd/releases/tag/v3.5.4
- https://github.com/argoproj/argo-cd/releases/tag/v3.6.0-rc2
- https://github.com/argoproj/argo-cd/security/advisories/GHSA-fw5c-w8rc-j7fx
- https://github.com/argoproj/argo-cd/security/advisories/GHSA-j6cw-g6p4-7hch
- https://github.com/kubernetes-sigs/kustomize/pull/3784
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
