IT SBIT Services
Schneeberger
DEEN
CVE tracker

Argo CD: Path traversal in Jsonnet import allows arbitrary file read

CVE-2026-113672Critical 9.9

← All vulnerabilities

Summary

Argo CD evaluates .jsonnet files in the repo-server with an importer that does not restrict import, importstr or importbin to the repository root. An authenticated user who can commit a .jsonnet file to a repository used by an Application, or who has Application get permission on an existing directory Application and can use the upload API, can read any file the repo-server can access. This includes service-account tokens, mounted private keys and repository credentials. Using importstr on a device such as /dev/zero can also exhaust repo-server memory.

Affected

  • Argo CD from 0.9.0 up to, but not including, 3.3.15, 3.4.10, 3.5.4 and 3.6.0-rc2
  • The CNA record lists 3.3.1 as the 3.3 fix; the vendor release that contains the fix is 3.3.15

Fixed in

  • 3.3.15
  • 3.4.10
  • 3.5.4
  • 3.6.0-rc2

Workaround

  • Set jsonnet.enable to 'false' in the argocd-cm ConfigMap. Argo CD then no longer evaluates .jsonnet files.
  • Side effect: applications that depend on Jsonnet will stop rendering those manifests.

Exploitation

  • CISA SSVC: exploitation none, automatable no, technical impact total.
  • No evidence of exploitation in the wild found at the time of research.
  • No public proof-of-concept found as of 21 Oct 2026 (secondary source, may be outdated).

Our recommendation

  • Inventory all Argo CD instances and their versions.
  • Update to the fixed release of your minor line (3.3.15, 3.4.10, 3.5.4 or 3.6.0-rc2 or later).
  • If patching is delayed, set jsonnet.enable to 'false' and accept that Jsonnet-based applications stop rendering.
  • Restrict repository write access and Application get permissions to trusted users.
  • Check whether the Argo CD UI and API are internet-exposed and limit access.
  • Monitor for unusual Application uploads and access to sensitive files.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 30 Oct 2026, 15:13.

Original description (NVD)

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.

NVD references (10)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.