Description
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. From 0.9.0 until 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2, the repo-server evaluates .jsonnet files with an importer that does not confine import, importstr, or importbin to the repository root. Absolute paths, parent-directory traversal, and repository symlinks can open any file readable by the repo-server, including /proc/self/environ, projected service-account tokens, mounted private keys, and repository credentials. Although generated Secrets are redacted, placing imported contents in a ConfigMap returns the data to the caller. Using importstr on a non-terminating device such as /dev/zero can exhaust repo-server memory. An attacker can commit a .jsonnet file to a Git repository used by an Application or upload the file through POST /api/v1/applications/manifestsWithFiles, also exposed by argocd app diff --local --server-side-generate. Directory applications evaluate every .jsonnet file in the application directory. The upload path requires only Application get permission on an existing directory Application, without Application update or sync permission or repository write access. This issue is fixed in versions 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2.
Published: 2026-10-20
Score: 9.9 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Immediate Patch
AI Analysis

Impact

The vulnerability arises from a path traversal flaw (CWE-22) in the repo-server’s handling of .jsonnet import, importstr, and importbin functions, which are not confined to the repository root. This omission permits attackers to read any file accessible to the repo-server, including environment variables, service-account tokens, and private keys, and to return their contents as data. Because imported data can be placed into a ConfigMap, the contents are returned to the caller, enabling the disclosure of sensitive information. Attempting to import a non-terminating device such as /dev/zero can also exhaust server memory, leading to a denial-of-service attack.

Affected Systems

Argo CD versions from 0.9.0 up to 3.3.15, 3.4.10, 3.5.4, and the release candidate 3.6.0-rc2 are vulnerable. The affected component is the repo-server, which evaluates .jsonnet files for any Application that uses a Git repository or that uploads a file via the POST /api/v1/applications/manifestsWithFiles endpoint. The vulnerability is present for any user who has Application get permission on an existing directory Application; no Application update, sync, or repository write permission is required.

Risk and Exploitability

With a CVSS score of 9.9 the vulnerability is considered Critical. The EPSS score is not publicly available, and the issue is not listed in the CISA KEV catalog, but the lack of path confinement makes exploitation straightforward for anyone who can commit or upload a .jsonnet file. Because the import functions can be triggered by normal application deployment workflows, an attacker only needs to supply a malicious file, making this a high-risk vector that can disclose secrets and crash the repo-server. The vulnerability can also be leveraged through the argocd app diff --local --server-side-generate feature, which exposes the same import logic.

Generated by OpenCVE AI on October 20, 2026 at 19:59 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Argo CD to a fixed version (3.3.15, 3.4.10, 3.5.4, or 3.6.0-rc2 or newer).
  • If immediate upgrade is not feasible, disable the built-in tools that allow .jsonnet import by following the guidance in the Argo CD documentation for disabling built-in tools.
  • Restrict application management permissions so that only authorized users can create or upload applications, limiting the scope of who might supply a malicious .jsonnet file.
  • Restrict or remove read access to sensitive files running the repo-server, and enforce least-privilege for the service account used by Argo CD.

Generated by OpenCVE AI on October 20, 2026 at 19:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 21 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Tue, 20 Oct 2026 20:15:00 +0000

Type Values Removed Values Added
First Time appeared Argoproj
Argoproj argo-cd
Vendors & Products Argoproj
Argoproj argo-cd

Tue, 20 Oct 2026 18:15:00 +0000

Type Values Removed Values Added
Description Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. From 0.9.0 until 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2, the repo-server evaluates .jsonnet files with an importer that does not confine import, importstr, or importbin to the repository root. Absolute paths, parent-directory traversal, and repository symlinks can open any file readable by the repo-server, including /proc/self/environ, projected service-account tokens, mounted private keys, and repository credentials. Although generated Secrets are redacted, placing imported contents in a ConfigMap returns the data to the caller. Using importstr on a non-terminating device such as /dev/zero can exhaust repo-server memory. An attacker can commit a .jsonnet file to a Git repository used by an Application or upload the file through POST /api/v1/applications/manifestsWithFiles, also exposed by argocd app diff --local --server-side-generate. Directory applications evaluate every .jsonnet file in the application directory. The upload path requires only Application get permission on an existing directory Application, without Application update or sync permission or repository write access. This issue is fixed in versions 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2.
Title Argo CD: A Jsonnet import can read files from the repo-server
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 9.9, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H'}


Subscriptions

Argoproj Argo-cd
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-20T18:00:54.522Z

Reserved: 2026-10-20T14:27:46.642Z

Link: CVE-2026-113672

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Undergoing Analysis

Published: 2026-10-20T18:17:20.950

Modified: 2026-10-20T19:59:00.607

Link: CVE-2026-113672

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-07T16:00:00Z

Links: CVE-2026-113672 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-20T20:00:15Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')