argo-cd: Inclusion of Functionality from Untrusted Control Sphere
CVE-2026-113709 is a critical-severity inclusion of functionality from untrusted control sphere vulnerability in argo-cd from Argoproj, with a CVSS 3.1 base score of 9.9 out of 10. It can be exploited remotely over the network by an attacker with a low-privileged account, without any action from a user. Affected argo-cd versions: >= 2.1.0, < 3.3.15; >= 3.4.0-rc1, < 3.4.10; >= 3.5.0-rc1, < 3.5.4, and others listed below. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 0.53% chance of exploitation within 30 days, which is low compared with other CVEs.
Critical severity: a successful attack would have severe impact.
What to do
- Check which version of argo-cd you run against the affected versions below, and install the vendor's latest release.
- Read the advisory on github.com for workarounds and exact fixed builds.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Argoproj | argo-cd | >= 2.1.0, < 3.3.15; >= 3.4.0-rc1, < 3.4.10; >= 3.5.0-rc1, < 3.5.4; >= 3.6.0-rc1, < 3.6.0-rc2 | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- User interaction
- NoneNo action by a victim is required.
- Scope
- ChangedThe attack can reach beyond the vulnerable component into other systems.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H. Scored by CNA (github.com).
Official 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.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Inclusion of Functionality from Untrusted Control Sphere
The product imports, requires, or includes executable functionality (such as a library) from a source that is outside of the intended control sphere.
How developers prevent this class of flaw
- Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
- When the set of acceptable objects, such as filenames or URLs, is limited or known, create a mapping from a set of fixed input values (such as numeric IDs) to the actual filenames or URLs, and reject all other inputs. For example, ID 1 could map to inbox.txt and ID 2 could map to profile.txt. Features such as the ESAPI AccessReferenceMap provide this capability.
- For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server.
More Inclusion of Functionality from Untrusted Control Sphere vulnerabilities (CWE-829)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Advisories
Patches and release notes
- github.com/argoproj/argo-cd/commit/b6d5c23bce2f8a46c52975ba438a3b93d242d96c
- github.com/argoproj/argo-cd/pull/6059
- github.com/argoproj/argo-cd/releases/tag/v3.3.15
- github.com/argoproj/argo-cd/releases/tag/v3.4.10
- github.com/argoproj/argo-cd/releases/tag/v3.5.4
- github.com/argoproj/argo-cd/releases/tag/v3.6.0-rc2
- github.com/kubernetes-sigs/kustomize/pull/3784
Other vulnerabilities in argo-cd
- 9.9 Critical severity
- 9.9 Critical severity
- 9.9 Critical severity
- 8.8 High severity
- 8.7 High severity
- 9.6 Critical severity
Recent Inclusion of Functionality from Untrusted Control Sphere vulnerabilities
- 8.8 High severity
- 8.8 High severity
- 7.0 High severity
- 7.0 High severity
- 7.1 High severity
- 8.8 High severity
Spotted an error? Tell us.