Argument injection in Argo CD Kustomize remote refs can run commands
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-88.
Summary
Argo CD from 2.7.0 before 3.3.15, from 3.4.0-rc1 before 3.4.10, from 3.5.0-rc1 before 3.5.4, and from 3.6.0-rc1 before 3.6.0-rc2 is affected. Kustomize passes ref or version values from remote URLs to git fetch without an end-of-options separator (CWE-88), so a leading-hyphen value is parsed as a git option. An attacker who can commit a Kustomization to a repository an Application builds, or who has Application get permission, can run commands as the repo-server user when the remote uses a local transport such as file://.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. From 2.7.0 until 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2, Kustomize passes ref or version query values from remote resource, base, or component URLs to git fetch without an end-of-options separator. A leading-hyphen value can be parsed as --upload-pack and execute a command inside argocd-repo-server when the remote uses a local transport such as file://. Git does not run the supplied command for an https:// remote. The local transport does not leave the pod, so blocking repo-server egress does not prevent the execution. The command runs as the repo-server user, can read repository credentials and other process-accessible data, and can return output through manifest-generation errors. An attacker can commit a Kustomization to a Git repository that an Application builds or upload 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. Kustomize 5.0.0 introduced acceptance of file://, whereas 4.5.7 rejects that transport; replacing the affected Kustomize with a newer version alone does not correct the missing option separator. This issue is fixed in versions 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| argoproj | argo-cd | 2.7.0 to before 3.3.15; 3.4.0-rc1 to before 3.4.10; 3.5.0-rc1 to before 3.5.4; 3.6.0-rc1 to before 3.6.0-rc2 | 3.3.15, 3.4.10, 3.5.4, 3.6.0-rc2 | Patch available | CNA |
- argo-cd Vendorargoproj Affected 2.7.0 to before 3.3.15; 3.4.0-rc1 to before 3.4.10; 3.5.0-rc1 to before 3.5.4; 3.6.0-rc1 to before 3.6.0-rc2 Fixed in 3.3.15, 3.4.10, 3.5.4, 3.6.0-rc2 Patch available CNA
Remediation
Upgrade Argo CD to version 3.3.15, 3.4.10, 3.5.4 or 3.6.0-rc2, which fix the issue. Replacing Kustomize with a newer version alone does not correct the missing option separator.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA argo-cd (argoproj) Fixed in 3.3.15, 3.4.10, 3.5.4, 3.6.0-rc2
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
Not affected: 2 products
- Red Hat OpenShift GitOps
- Red Hat Openshift Data Foundation 4
Timeline
- 2026-10-20 Threatist record created from CVE-2026-113708
- 2026-10-21 Affected versions changed · Red Hat
- 2026-10-21 CVSS score added · Red Hat
References
Other 9
- https://github.com/argoproj/argo-cd/security/advisories/GHSA-9v9p-x54c-58gc
- https://github.com/argoproj/argo-cd/security/advisories/GHSA-j6cw-g6p4-7hch
- https://github.com/argoproj/argo-cd/pull/12299
- https://github.com/argoproj/argo-cd/commit/25badeb7a1e154805340bb7237e0ce671f3772dd
- https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/#custom-kustomize-versions
- 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
More argoproj vulnerabilities
- TI-2026-22564 Argo Workflows has unauthorized access to Argo Workflows Template CVSS 3.1CRITICAL 9.8
- TI-2024-14377 Argo CD vulnerable to Bypassing of Brute Force Protection via Application Crash and In-Memory Data Loss CVSS 3.1CRITICAL 9.8
- TI-2024-14383 Argo CD vulnerable to Bypassing of Rate Limit and Brute Force Protection Using Cache Overflow CVSS 3.1CRITICAL 9.1
- TI-2026-31086 ArgoCD ServerSideDiff is vulnerable to Kubernetes Secret Extraction CVSS 3.1CRITICAL 9.6
- TI-2023-20919 Cluster secret might leak in cluster details page in Argo CD CVSS 3.1CRITICAL 9.9
- TI-2026-30603 Argo Workflows: Unauthenticated Memory Exhaustion (DoS) in Webhook Interceptor CVSS 4.0HIGH 8.2
Sources
- CVE-2026-113708 · CVE Program
- CVE-2026-113708 · NVD
- FIRST EPSS
- CVE-2026-113708 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences