Ad · Leaderboard 728×90

CVE-2026-113709

9.9Critical

Published 20 Oct 2026 · NVD status: Undergoing Analysis · AI triage by gemini-3.8-flash

9.9Critical
Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None
Impact
Full C/I/A compromise
Weakness
CWE-829

Impact

Authenticated attackers with Application get permission or Git repo write access can execute arbitrary code inside argocd-repo-server and steal repository credentials. It requires the operator to have enabled the --enable-helm flag for kustomize.

Root cause

Kustomize passes helmGlobals.configHome to Helm, allowing repositories to specify a configHome where Helm automatically executes untrusted downloader plugins.

Affected systems

Argo CD 2.1.0 through versions prior to 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2 (with --enable-helm enabled).

CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Fix & remediation

Upgrade to Argo CD 3.3.15, 3.4.10, 3.5.4, 3.6.0-rc2, or later. If patching immediately is not possible, disable the --enable-helm flag on kustomize build in the repo-server configuration.

shell
$ kubectl get deployment -n argocd argocd-repo-server -o jsonpath='{.spec.template.spec.containers[*].image}'

AI-suggested. Run it in staging first and check it against the vendor advisory. Why?

Ad · In-content banner

NVD description

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.

References

Source: nvd.nist.gov/vuln/detail/CVE-2026-113709

Ad · Sticky 320×50 / 728×90