Argo CD Repo-Server Açığı: Kubernetes Kümeleri Ele Geçirilebilir Yazılım

Argo CD Repo-Server Açığı: Kubernetes Kümeleri Ele Geçirilebilir

Argo CD repo-server bileşeninde yamasız bir güvenlik açığı bulundu. Kimlik doğrulamasız saldırganlar, iç ağ portuna erişerek kod çalıştırabiliyor.

Kubernetes'e yazılım dağıtmak için yaygın olarak kullanılan Argo CD aracında, repo-server bileşenini etkileyen yamasız bir güvenlik açığı keşfedildi. Synacktiv tarafından bulunan bu açık, kimlik doğrulaması gerektirmeyen bir saldırganın, repo-server'ın iç ağ portuna erişmesi durumunda kod çalıştırmasına olanak tanıyor. Güvenlik firması, bu açığın bir Kubernetes kümesinin tamamen ele geçirilmesine yol açabileceğini belirtiyor. Açık için henüz bir yama veya CVE numarası bulunmuyor. Synacktiv, sorunu Ocak 2025'te Argo CD geliştiricilerine bildirdi, ancak yaklaşık 18 ay sonra hala yamalanmadığı için detayları yayınlama kararı aldı.

Açık, Argo CD'nin Git depolarını okuyarak Kubernetes manifest dosyalarını oluşturan repo-server bileşeninde yer alıyor. Bu bileşenin iç gRPC servisi herhangi bir kimlik doğrulama gerektirmediği için, bu servise erişebilen herkes özel olarak 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 dosyaları oluşturmak için kullandığı standart bir araç olan kustomize'ı hedef alıyor. Kustomize, hangi helm ikili dosyasını çağıracağını belirten --helm-command seçeneğine sahip.

Synacktiv, repo-server'ın GenerateManifest servisine yapılan kimlik doğrulamasız bir istekle bu seçeneğin, saldırganın kontrolündeki bir Git deposundan alınan bir betik olarak ayarlanabileceğini keşfetti. Kustomize çalıştığında, helm yerine bu betiği çalıştırıyor. Ancak 'iç' erişim varsayılan olarak izole anlamına gelmiyor. Argo CD, repo-server'ı kendi bileşenleri dışındaki her şeyden ayıran Kubernetes ağ politikaları sunuyor. Ancak Synacktiv, Argo CD'yi kurmak için yaygın bir yöntem olan Helm chart'ının bu politikaları varsayılan olarak devre dışı bıraktığını (networkPolicy.create: false) tespit etti. Bu durumda, kümeye bir pod aracılığıyla sızan saldırgan repo-server'a erişip açığı tetikleyebiliyor.

Teknik Analiz

Repo-server'da kod çalıştırmak son adım değil. Synacktiv, bu erişimi kullanarak kümenin Redis şifresini bir ortam değişkeninden okudu, Argo CD'nin Redis önbelleğine bağlandı ve depolanan dağıtım verilerini zehirledi. Bir sonraki otomatik senkronizasyonda Argo CD, saldırgan tarafından sağlanan bir iş yükünü dağıttı. Bu adım, Cycode tarafından 2024'te bulunan ve Redis'in şifresiz olması nedeniyle herhangi bir pod'un dağıtım önbelleğini zehirlemesine izin veren CVE-2024-31989 açığını yeniden canlandırıyor. Argo CD, bu açığı Redis'e şifre ekleyerek giderdi, ancak önbellek hala imzalanmadığı için şifrenin yeniden çalınması aynı saldırıyı mümkün kılıyor. Synacktiv, saldırıyı otomatikleştiren argo-cdown adlı bir araç geliştirdi ancak ağ politikalarını güçlendirmek için yayınlamayı erteledi. Uzmanlar, yama gelene kadar küme ağının düşmanca kabul edilmesini ve ağ izolasyonunun etkinleştirilmesini öneriyor.

Paylaş: