Argo CD: A Jsonnet import can read files from the repo-server
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.
- Products
- argo-cd
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-113672
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 11:37 UTC · Revision 2
Source evidence
Argo CD: A Jsonnet import can read files from the repo-server
core-cve · Original sourcePublished 20 Oct 2026, 18:00 UTC
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.
cve:CVE-2026-113672
argo-cd
Fixed versions: Not specified
Complete source record
{
"id": "4b585d3961e0428d4bde36675424981f20f61859a6d449771266e7a1c3f71b79",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-113672",
"method": "structured",
"payload": {
"kind": "advisory",
"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 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.",
"evidence": "cve:CVE-2026-113672",
"products": [
{
"name": {
"value": "argo-cd",
"evidence": "/containers/cna/affected/0/product"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
}
],
"severity": "critical",
"structured": {
"id": "CVE-2026-113672",
"aliases": [
"CVE-2026-113672"
],
"metrics": [
{
"cvssV3_1": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 9.9,
"attackVector": "NETWORK",
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
}
}
],
"affected": [
{
"vendor": "argoproj",
"product": "argo-cd",
"versions": [
{
"status": "affected",
"version": ">= 0.9.0, < 3.3.1"
},
{
"status": "affected",
"version": ">= 3.4.0-rc1, < 3.4.10"
},
{
"status": "affected",
"version": ">= 3.5.0-rc1, < 3.5.4"
},
{
"status": "affected",
"version": ">= 3.6.0-rc1, < 3.6.0-rc2"
}
]
}
],
"modified": "2026-10-28T14:08:45.208Z",
"provider": "cve",
"references": [
"https://github.com/argoproj/argo-cd/security/advisories/GHSA-m3vr-7329-44ww",
"https://github.com/argoproj/argo-cd/security/advisories/GHSA-3v3m-wc6v-x4x3",
"https://github.com/argoproj/argo-cd/security/advisories/GHSA-6gcg-hp2x-q54h",
"https://github.com/argoproj/argo-cd/pull/561",
"https://github.com/argoproj/argo-cd/commit/27471d524958878e7acc5131fb466b292079cd05",
"https://argo-cd.readthedocs.io/en/stable/user-guide/tool_detection/#disable-built-in-tools",
"https://github.com/argoproj/argo-cd/releases/tag/v3.3.15",
"https://github.com/argoproj/argo-cd/releases/tag/v3.4.10",
"https://github.com/argoproj/argo-cd/releases/tag/v3.5.4",
"https://github.com/argoproj/argo-cd/releases/tag/v3.6.0-rc2"
],
"provider_metadata": {
"adp": [
{
"title": "CISA ADP Vulnrichment",
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"id": "CVE-2026-113672",
"role": "CISA Coordinator",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"version": "2.0.3",
"timestamp": "2026-10-28T14:08:35.794598Z"
}
}
}
],
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2026-10-28T14:08:45.208Z"
}
}
],
"cna": {
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M",
"dateUpdated": "2026-10-20T18:00:54.522Z"
}
}
},
"related_cves": [
{
"value": "CVE-2026-113672",
"evidence": "/cveMetadata/cveId"
}
],
"security_relevant": true,
"severity_evidence": "/containers/cna/metrics"
},
"source_id": "core-cve",
"document_id": 449323,
"published_at": "2026-10-20T18:00:54.522+00:00"
}