Argo CD: A Kustomize remote ref can run commands in the repo-server
Summary
| CVE | CVE-2026-113708 |
|---|---|
| State | PUBLISHED |
| Assigner | GitHub_M |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-10-20 19:17:33 UTC |
| Updated | 2026-10-20 19:59:00 UTC |
| Description | 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. |
Risk And Classification
Primary CVSS: v3.1 9.9 CRITICAL from [email protected]
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Problem Types: CWE-88 | CWE-88 CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 3.1 | [email protected] | Secondary | 9.9 | CRITICAL | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| 3.1 | CNA | DECLARED | 9.9 | CRITICAL | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
CVSS v3.1 Breakdown
Attack Vector
NetworkAttack Complexity
LowPrivileges Required
LowUser Interaction
NoneScope
ChangedConfidentiality
HighIntegrity
HighAvailability
HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Argoproj | Argo-cd | affected >= 2.7.0, < 3.3.15 | Not specified |
| CNA | Argoproj | Argo-cd | affected >= 3.4.0-rc1, < 3.4.10 | Not specified |
| CNA | Argoproj | Argo-cd | affected >= 3.5.0-rc1, < 3.5.4 | Not specified |
| CNA | Argoproj | Argo-cd | affected >= 3.6.0-rc1, < 3.6.0-rc2 | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| github.com/argoproj/argo-cd/security/advisories/GHSA-9v9p-x54c-58gc | [email protected] | github.com | |
| github.com/argoproj/argo-cd/releases/tag/v3.6.0-rc2 | [email protected] | github.com | |
| argo-cd.readthedocs.io/en/stable/user-guide/kustomize | [email protected] | argo-cd.readthedocs.io | |
| github.com/argoproj/argo-cd/releases/tag/v3.4.10 | [email protected] | github.com | |
| github.com/argoproj/argo-cd/releases/tag/v3.5.4 | [email protected] | github.com | |
| github.com/argoproj/argo-cd/commit/25badeb7a1e154805340bb7237e0ce671f3772dd | [email protected] | github.com | |
| github.com/argoproj/argo-cd/pull/12299 | [email protected] | github.com | |
| github.com/argoproj/argo-cd/releases/tag/v3.3.15 | [email protected] | github.com | |
| github.com/argoproj/argo-cd/security/advisories/GHSA-j6cw-g6p4-7hch | [email protected] | github.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.