Popüler Kubernetes dağıtım aracı Argo CD'nin repo-server bileşeninde kritik bir güvenlik açığı bulundu. Synacktiv araştırmacıları tarafından keşfedilen bu açık, kimliği doğrulanmamış bir saldırganın repo-server'ın iç ağ portuna erişmesi halinde kod çalıştırmasına izin veriyor. Açık için henüz bir yama veya CVE numarası bulunmuyor. Araştırmacılar, sorunu Ocak 2025'te Argo CD geliştiricilerine bildirdiklerini ancak 18 ay sonra hala düzeltilmediğini belirtiyor. Bu nedenle kullanıcıları uyarmak için detayları yayınladılar.
Açık, Argo CD'nin Git depolarını okuyarak Kubernetes manifestoları oluşturan repo-server bileşeninde yer alıyor. Bileşenin iç gRPC servisi herhangi bir kimlik doğrulama gerektirmediği için, bu servise erişebilen herkes özel hazırlanmış bir istek göndererek komut çalıştırabiliyor. Synacktiv, saldırıyı Argo CD v2.13.3 üzerinde başarıyla gerçekleştirdi ve yamalı bir sürüm bulunmadığını bildirdi. Saldırı tekniği, Argo CD'nin manifest oluşturmak için kullandığı standart araç kustomize'ın --helm-command seçeneğini hedef alıyor. Bu seçenek, helm ikili dosyasının yolunu belirtirken, saldırgan kimliği doğrulanmamış bir GenerateManifest isteğiyle bu yolu kendi kontrolündeki bir Git deposundaki betikle değiştirebiliyor. Kustomize çalıştığında helm yerine bu betik çalıştırılıyor.
Argo CD'nin varsayılan olarak Kubernetes ağ politikalarını etkinleştirmemesi, sorunu daha da büyütüyor. Argo CD'yi yaygın bir şekilde kurmak için kullanılan Helm chart'ı, networkPolicy.create değerini varsayılan olarak false bırakıyor. Bu durumda, kümeye sızan bir saldırgan tek bir pod'u ele geçirerek repo-server'a erişebiliyor. Ayrıca, repo-server'da kod çalıştıran saldırgan, Redis parolasını ortam değişkenlerinden okuyarak Argo CD'nin Redis önbelleğine bağlanabiliyor ve depolanan dağıtım verilerini zehirleyebiliyor. Bir sonraki otomatik senkronizasyonda Argo CD, saldırganın sağladığı iş yükünü dağıtıyor. Bu adım, 2024'te keşfedilen CVE-2024-31989 açığını yeniden canlandırıyor; o açıkta Redis parolası olmadığı için herhangi bir pod önbelleği zehirleyebiliyordu. Argo CD, Redis parolası ekleyerek bu sorunu çözmüştü ancak önbellek hala imzalanmadığı için parola çalındığında aynı saldırı tekrarlanabiliyor.
Henüz yamalı bir sürüm olmadığı için tek savunma yöntemi ağ izolasyonu. Kubernetes ağ politikalarını etkinleştirerek yalnızca Argo CD bileşenlerinin repo-server ve Redis portlarına erişmesine izin verilmeli. Argo CD, politika dosyalarını sağlıyor ancak Helm kullanıcılarının bunları manuel olarak etkinleştirmesi gerekiyor. Synacktiv, saldırıyı otomatikleştiren argo-cdown aracını geliştirdi ancak savunmacılara zaman tanımak için şimdilik yayınlamıyor. Araç daha sonra GitHub'da yayınlanacak. Bu, Argo CD'nin iç bileşenlerini ifşa eden ilk güvenlik açığı değil. Geçmişte CVE-2025-55190 ve CVE-2026-42880 gibi açıklar da bulunmuştu. Örüntü net: Argo CD, küme erişimi ve depo sırlarını yoğunlaştırıyor ve iç yüzeyleri bunları sızdırmaya devam ediyor. Yama çıkana kadar küme ağını düşmanca kabul etmek tek gerçek savunma.