---
id: CVE-2026-113672
title: 'Argo CD: A Jsonnet import can read files from the repo-server'
summary: >-
  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
  import…
severity: critical
cvss: 9.9
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-22
vendor: argoproj
product: argo-cd
affected:
  - 'argo-cd >= 0.9.0, < 3.3.1'
  - 'argo-cd >= 3.4.0-rc1, < 3.4.10'
  - 'argo-cd >= 3.5.0-rc1, < 3.5.4'
  - 'argo-cd >= 3.6.0-rc1, < 3.6.0-rc2'
published: '2026-10-20'
updated: '2026-10-20'
sourceUpdated: '2026-10-20T18:00:54.522Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-113672'
references:
  - url: >-
      https://github.com/argoproj/argo-cd/security/advisories/GHSA-m3vr-7329-44ww
    label: >-
      https://github.com/argoproj/argo-cd/security/advisories/GHSA-m3vr-7329-44ww
  - url: >-
      https://github.com/argoproj/argo-cd/security/advisories/GHSA-3v3m-wc6v-x4x3
    label: >-
      https://github.com/argoproj/argo-cd/security/advisories/GHSA-3v3m-wc6v-x4x3
  - url: >-
      https://github.com/argoproj/argo-cd/security/advisories/GHSA-6gcg-hp2x-q54h
    label: >-
      https://github.com/argoproj/argo-cd/security/advisories/GHSA-6gcg-hp2x-q54h
  - url: 'https://github.com/argoproj/argo-cd/pull/561'
    label: 'https://github.com/argoproj/argo-cd/pull/561'
  - url: >-
      https://github.com/argoproj/argo-cd/commit/27471d524958878e7acc5131fb466b292079cd05
    label: >-
      https://github.com/argoproj/argo-cd/commit/27471d524958878e7acc5131fb466b292079cd05
  - url: >-
      https://argo-cd.readthedocs.io/en/stable/user-guide/tool_detection/#disable-built-in-tools
    label: >-
      https://argo-cd.readthedocs.io/en/stable/user-guide/tool_detection/#disable-built-in-tools
  - url: 'https://github.com/argoproj/argo-cd/releases/tag/v3.3.15'
    label: 'https://github.com/argoproj/argo-cd/releases/tag/v3.3.15'
  - url: 'https://github.com/argoproj/argo-cd/releases/tag/v3.4.10'
    label: 'https://github.com/argoproj/argo-cd/releases/tag/v3.4.10'
  - url: 'https://github.com/argoproj/argo-cd/releases/tag/v3.5.4'
    label: 'https://github.com/argoproj/argo-cd/releases/tag/v3.5.4'
  - url: 'https://github.com/argoproj/argo-cd/releases/tag/v3.6.0-rc2'
    label: 'https://github.com/argoproj/argo-cd/releases/tag/v3.6.0-rc2'
tags:
  - cve.org
ingestedAt: '2026-10-20T18:14:37.214Z'
---

## Overview

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.

## Affected

- `argo-cd >= 0.9.0, < 3.3.1`
- `argo-cd >= 3.4.0-rc1, < 3.4.10`
- `argo-cd >= 3.5.0-rc1, < 3.5.4`
- `argo-cd >= 3.6.0-rc1, < 3.6.0-rc2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
