{"api_version":"1","generated_at":"2026-10-21T08:02:10+00:00","cve":"CVE-2026-113708","urls":{"html":"https://cve.report/CVE-2026-113708","api":"https://cve.report/api/cve/CVE-2026-113708.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-113708","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-113708"},"summary":{"title":"Argo CD: A Kustomize remote ref can run commands in the repo-server","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.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-10-20 19:17:33","updated_at":"2026-10-20 19:59:00"},"problem_types":["CWE-88","CWE-88 CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"9.9","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","baseScore":9.9,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"9.9","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":9.9,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/argoproj/argo-cd/security/advisories/GHSA-9v9p-x54c-58gc","name":"https://github.com/argoproj/argo-cd/security/advisories/GHSA-9v9p-x54c-58gc","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/argoproj/argo-cd/releases/tag/v3.6.0-rc2","name":"https://github.com/argoproj/argo-cd/releases/tag/v3.6.0-rc2","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/#custom-kustomize-versions","name":"https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/#custom-kustomize-versions","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/argoproj/argo-cd/releases/tag/v3.4.10","name":"https://github.com/argoproj/argo-cd/releases/tag/v3.4.10","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/argoproj/argo-cd/releases/tag/v3.5.4","name":"https://github.com/argoproj/argo-cd/releases/tag/v3.5.4","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/argoproj/argo-cd/commit/25badeb7a1e154805340bb7237e0ce671f3772dd","name":"https://github.com/argoproj/argo-cd/commit/25badeb7a1e154805340bb7237e0ce671f3772dd","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/argoproj/argo-cd/pull/12299","name":"https://github.com/argoproj/argo-cd/pull/12299","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/argoproj/argo-cd/releases/tag/v3.3.15","name":"https://github.com/argoproj/argo-cd/releases/tag/v3.3.15","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/argoproj/argo-cd/security/advisories/GHSA-j6cw-g6p4-7hch","name":"https://github.com/argoproj/argo-cd/security/advisories/GHSA-j6cw-g6p4-7hch","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-113708","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-113708","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"argoproj","product":"argo-cd","version":"affected >= 2.7.0, < 3.3.15","platforms":[]},{"source":"CNA","vendor":"argoproj","product":"argo-cd","version":"affected >= 3.4.0-rc1, < 3.4.10","platforms":[]},{"source":"CNA","vendor":"argoproj","product":"argo-cd","version":"affected >= 3.5.0-rc1, < 3.5.4","platforms":[]},{"source":"CNA","vendor":"argoproj","product":"argo-cd","version":"affected >= 3.6.0-rc1, < 3.6.0-rc2","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-113708","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-10-20T18:42:42.463091Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-10-20T18:43:40.767Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"argo-cd","vendor":"argoproj","versions":[{"status":"affected","version":">= 2.7.0, < 3.3.15"},{"status":"affected","version":">= 3.4.0-rc1, < 3.4.10"},{"status":"affected","version":">= 3.5.0-rc1, < 3.5.4"},{"status":"affected","version":">= 3.6.0-rc1, < 3.6.0-rc2"}]}],"descriptions":[{"lang":"en","value":"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."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":9.9,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-88","description":"CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-20T18:03:17.219Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/argoproj/argo-cd/security/advisories/GHSA-9v9p-x54c-58gc","tags":["x_refsource_CONFIRM"],"url":"https://github.com/argoproj/argo-cd/security/advisories/GHSA-9v9p-x54c-58gc"},{"name":"https://github.com/argoproj/argo-cd/security/advisories/GHSA-j6cw-g6p4-7hch","tags":["x_refsource_MISC"],"url":"https://github.com/argoproj/argo-cd/security/advisories/GHSA-j6cw-g6p4-7hch"},{"name":"https://github.com/argoproj/argo-cd/pull/12299","tags":["x_refsource_MISC"],"url":"https://github.com/argoproj/argo-cd/pull/12299"},{"name":"https://github.com/argoproj/argo-cd/commit/25badeb7a1e154805340bb7237e0ce671f3772dd","tags":["x_refsource_MISC"],"url":"https://github.com/argoproj/argo-cd/commit/25badeb7a1e154805340bb7237e0ce671f3772dd"},{"name":"https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/#custom-kustomize-versions","tags":["x_refsource_MISC"],"url":"https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/#custom-kustomize-versions"},{"name":"https://github.com/argoproj/argo-cd/releases/tag/v3.3.15","tags":["x_refsource_MISC"],"url":"https://github.com/argoproj/argo-cd/releases/tag/v3.3.15"},{"name":"https://github.com/argoproj/argo-cd/releases/tag/v3.4.10","tags":["x_refsource_MISC"],"url":"https://github.com/argoproj/argo-cd/releases/tag/v3.4.10"},{"name":"https://github.com/argoproj/argo-cd/releases/tag/v3.5.4","tags":["x_refsource_MISC"],"url":"https://github.com/argoproj/argo-cd/releases/tag/v3.5.4"},{"name":"https://github.com/argoproj/argo-cd/releases/tag/v3.6.0-rc2","tags":["x_refsource_MISC"],"url":"https://github.com/argoproj/argo-cd/releases/tag/v3.6.0-rc2"}],"source":{"advisory":"GHSA-9v9p-x54c-58gc","discovery":"UNKNOWN"},"title":"Argo CD: A Kustomize remote ref can run commands in the repo-server"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-113708","datePublished":"2026-10-20T18:03:17.219Z","dateReserved":"2026-10-20T16:03:14.862Z","dateUpdated":"2026-10-20T18:43:40.767Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-20 19:17:33","lastModifiedDate":"2026-10-20 19:59:00","problem_types":["CWE-88","CWE-88 CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","baseScore":9.9,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":3.1,"impactScore":6}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-10-20T18:42:42.463091Z","id":"CVE-2026-113708","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"113708","Ordinal":"1","Title":"Argo CD: A Kustomize remote ref can run commands in the repo-ser","CVE":"CVE-2026-113708","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"113708","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"Argo CD: A Kustomize remote ref can run commands in the repo-ser"}]}}}