CVE-2026-113708

LOWCVSS 9.9 · CRITICAL

Immediate actions

  • Track advisory updates for patch or workaround availability

Recommended action window: Monitor and triage in normal cycle

NVD 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.

0.0/ 10 priority

Sources & remediation

Weakness type (CWE)
CWE-88

Priority

LOW

Exploitation

NONE

PoC

NONE

Patch

NONE

Momentum

NONE

Deep dive

Full discourse1 post
  • Upwind Security MDR@UpwindMDR

    🚨Critical - Argo CD Repo-Server RCE via Kustomize (CVE-2026-113708 + CVE-2026-113709) In argocd-repo-server, two critical issues: Kustomize remote refs (file://) pass unsanitized ref/version values to git fetch, allowing leading-hyphen commands to execute as the repo-server user. With --enable-helm, helmGlobals.configHome can point to a repo-controlled path; a plugin:// helmCharts URL then auto-loads and runs a malicious Helm downloader plugin. Both grant RCE + access to repo credentials/data. Setups not using --enable-helm are unaffected by the second issue. 👉Affected: argo-cd (http://github.com/argoproj/argo-cd/v2, /v3) versions with kustomize --enable-helm enabled

    000131.4K
    342 followersView on X

Explore more