Ana Sayfa

Kubernetes'te nodes/proxy GET İzniyle Uzaktan Kod Çalıştırma Riski

1 dk okuma

Kubernetes kümelerinde, nodes/proxy GET iznine sahip hizmet hesapları kullanılarak uzaktan kod çalıştırma (RCE) potansiyeli taşıyan önemli bir güvenlik açığı tespit edildi. Bu durum, Kubelet'in /exec uç noktasına yapılan bağlantılarda yetkilendirme kararlarını farklı protokollere göre farklı şekilde almasından kaynaklanıyor. Özellikle WebSocket bağlantılarında, Kubelet yalnızca başlangıçtaki el sıkışma isteğine dayanarak yetkilendirme yapıyor ve /exec için normalde gerekli olan CREATE izinlerini doğrulamıyor. Bu da, nodes/proxy GET iznine sahip ve bir düğümün Kubelet API'sine (10250 portu) erişebilen herhangi bir saldırganın, kümedeki herhangi bir Pod'da, hatta ayrıcalıklı sistem Pod'larında bile komut çalıştırmasına olanak tanıyor. Bu durum, tüm kümenin ele geçirilmesine yol açabilecek ciddi sonuçlar doğurabilir.

Bu güvenlik açığı, Kubernetes güvenlik ekibi tarafından 'çalışması amaçlandığı gibi' kabul edilerek kapatılmış olsa da, birçok Kubernetes dağıtımını ve popüler Helm chart'ını etkiliyor. Prometheus, Grafana Promtail, Datadog, Cilium gibi yaygın kullanılan 69 Helm chart'ında bu iznin kullanıldığı belirtiliyor. Sorun belirli bir satıcıya özgü değil; aksine, nodes/proxy GET izni, Pod metrikleri ve konteyner logları gibi verilere erişim gerektiren izleme araçları tarafından yaygın olarak kullanılıyor ve genellikle alternatifleri bulunmuyor. Ayrıca, Kubelet API'sine doğrudan bağlantı üzerinden yürütülen komutlar Kubernetes AuditPolicy tarafından loglanmadığı için saldırıların tespiti de zorlaşıyor.

Küme yöneticileri, ortamlarındaki hizmet hesaplarını bu riskli izin açısından kontrol etmelidir. Makalede, bu izne sahip hizmet hesaplarını tespit etmek için bir betik de sunuluyor. Bu güvenlik açığı, Kubernetes ortamlarında yetki yönetimi ve güvenlik denetimlerinin ne kadar kritik olduğunu bir kez daha gözler önüne seriyor.

İçgörü

Kubernetes kümelerinde yaygın olarak kullanılan bir iznin, Kubelet'in yetkilendirme mekanizmasındaki bir boşluk nedeniyle ciddi bir uzaktan kod çalıştırma riskine yol açması, küme güvenliği için kritik bir zafiyet oluşturuyor.

Kaynak