Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Son 7 gün
  • CWE-22

CVE-2026-113672

Argo CD Jsonnet import özelliğinde repo-server üzerinden dosya okuma açığı

argoproj argo-cd

Kritik 9,9 CVSS 3.1
Yayımlandı
Güncellendi
28 Eki 2026
Açık yaşı
7 gün
Kaydı açan
GitHub_M

Yönetici özeti

Bu açık, Kubernetes dağıtımlarını yöneten Argo CD sisteminde hassas bilgilerin sızmasına yol açabilir. Düşük yetkili bir kullanıcı bile kimlik bilgilerini ele geçirebileceği için risk yüksektir ve önceliklendirilmelidir. Sürüm güncellemesi hemen planlanmalıdır.

ÖzetTürkçe

Argo CD'nin repo-server bileşeni, .jsonnet dosyalarını değerlendirirken import, importstr ve importbin işlevlerini depo kökü ile sınırlandırmamaktadır. 0.9.0 ile 3.3.15, 3.4.10, 3.5.4 ve 3.6.0-rc2 öncesi sürümler etkilenir. Mutlak yollar, üst dizine geçiş ve depo içindeki sembolik bağlantılar üzerinden repo-server'ın okuyabildiği herhangi bir dosyaya erişilebilir.

Saldırgan ne yapabilir?

Saldırgan /proc/self/environ, servis hesabı belirteçleri, özel anahtarlar ve depo kimlik bilgileri gibi hassas dosyaları okuyabilir; ConfigMap'e yerleştirerek içeriği kendisine geri döndürebilir. Ayrıca /dev/zero gibi sonlanmayan aygıtlarla bellek tükenmesine yol açabilir.

Kaynaktaki açıklama (İngilizce)

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.

Ne yapmalı?

  1. Argo CD'yi düzeltilmiş sürümlerden birine yükseltin: 3.3.15, 3.4.10, 3.5.4 veya 3.6.0-rc2. Kullandığınız dal için en yakın düzeltilmiş sürümü seçin. Genel öneri
  2. Yükseltmeden önce, repo-server'ın erişebildiği sırları ve depo kimlik bilgilerini döndürmeyi değerlendirin, çünkü açık daha önce istismar edilmiş olabilir. Genel öneri
  3. Yükseltmeye kadar Application oluşturma ve güncelleme yetkilerini yalnızca güvenilir kullanıcılarla sınırlandırın ve manifestsWithFiles uç noktasına erişimi kısıtlayın. Genel öneri

Ek önlemler

  • Repo-server'ın yalnızca gerekli dosyaları okuyabilmesi için pod güvenlik ayarlarını ve dosya sistemi erişimini en aza indirin. Genel öneri
  • Git depolarına yeni eklenen .jsonnet dosyalarını ve olağandışı sembolik bağlantıları inceleyin. Genel öneri
  • Repo-server bellek kullanımını izleyerek olağandışı artışları ve olası hizmet dışı kalmaları tespit edin. Genel öneri

Bu açık kişisel verilerin sızmasına yol açabilir. Sistemlerinizde kullanıldığından şüpheleniyorsanız KVKK'daki ihlal bildirimi yükümlülüğünüzü (Kurul'a 72 saat içinde bildirim) hukuk danışmanınızla birlikte değerlendirin. Bu not hukuki tavsiye değildir.

Etkilenen sürümler1 yazılım

YazılımEtkilenenDüzeltildiği sürüm
argoproj argo-cd Sürüm belirtilmemiş –

Kaynaklar12 kaynak

Kayıt geçmişi

  1. Yayımlandı

İlgili açıklar

Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.