Kubernetes Güvenlik Açığı Saldırganların Sistemin Tam Kontrolünü Ele Geçirmesine Olanak Sağlıyor


Kubernetes'te CVE-2023-5528 adlı yeni bir güvenlik açığı keşfedildi. Bu güvenlik açığı, tehlikeye atılan Windows düğümünde SİSTEM düzeyindeki ayrıcalıklarla uzaktan kod yürütülmesine yol açan bir komut ekleme güvenlik açığıyla ilişkilidir. Bu güvenlik açığının ciddiyeti 7,2 (Yüksek).

Bir tehdit aktörünün bu güvenlik açığından yararlanabilmesi için, kümeye kötü amaçlı YAML dosyalarının uygulanması, komut ekleme işlemi sırasında kullanılabilecek kalıcı bir birim oluşturmak için erişim ve etkilenen Kubernetes kümesinde belirli düzeyde kullanıcı ayrıcalığı da dahil olmak üzere çeşitli önkoşullar gerekir.

Bu güvenlik açığının tanımlanmasının ardından aynı temel nedene sahip iki ek güvenlik açığı daha tespit edildi: güvenli olmayan bir işlev çağrısı ve yetersiz kullanıcı girişi temizliği.

Belge

Ücretsiz Web Semineri: Güvenlik Açığı ve 0 Günlük Tehditlerin Azaltılması

Güvenlik ekiplerinin 100'lerce güvenlik açığını önceliklendirmesi gerekmediğinden, hiç kimseye yardımcı olmayan Yorgunluk Uyarısı.:

  • Günümüzün kırılganlık yorgunluğu sorunu
  • CVSS'ye özgü güvenlik açığı ile risk tabanlı güvenlik açığı arasındaki fark
  • Güvenlik açıklarının iş etkisine/riskine göre değerlendirilmesi
  • Uyarı yorgunluğunu azaltmak ve güvenlik duruşunu önemli ölçüde geliştirmek için otomasyon

Riski doğru bir şekilde ölçmenize yardımcı olan AcuRisQ:

Teknik Analiz

Cyber ​​Security News ile paylaşılan Akamai raporuna göre, bu güvenlik açığı daha önce açıklanan başka bir komut enjeksiyon güvenlik açığıyla ilgili CVE-2023-3676 güvenlik açığıyla bağlantılı.

Bu güvenlik açıklarının her ikisi de, güvenli olmayan işlev çağrıları ve kullanıcı girişi temizleme eksikliği nedeniyle Kubernetes kümesinde mevcuttu.

Daha ileri analizler, bu komut enjeksiyonlarının, komutları SİSTEM düzeyindeki ayrıcalıklarla yürütmek için Kubelet hizmetini kullanan YAML dosyalarındaki subPath parametresinde temizlik eksikliği nedeniyle mevcut olduğunu ortaya çıkardı.

Ayrıca, cmd satırından “exec.command” çağrısına sahip, güvenli olmayan bir MountSensitive() işlevi vardı.

Savunmasız cmd satır kodu (Kaynak: Akamai)

Bu işlev, birimin düğümdeki konumu ile bölmenin içindeki konum arasında bir sembolik bağlantı kurar.

Bununla birlikte, bir Windows komut istemi kullandığından, orijinal parametrenin yanında ek komutları yürütmek için cmd terminal birleştirme işlemi kullanılabilir.

Yerel Hacim ve Kalıcı Hacim

Yararlanma, yerel birim tipinin ve kalıcı birimin kullanımını içerir.

Yerel birimler, kullanıcıların disk bölümlerini bir yol içerisine bağlamasına olanak sağlamak için kullanılırken, kalıcı birimler, bir küme yöneticisinin, kapsülün ömründen sonra bile dayanacak bir depolama alanı sağlamak için oluşturabileceği depolama kaynaklarıdır.

PersistentVolume oluşturulduktan sonra kullanıcılar, persistsVolumeClaim işlevini kullanarak depolama alanı isteyebilir.

Kubernetes'in Kubernetes içindeki işlevlerin neredeyse tamamı için YAML dosyalarını kullandığını belirtmekte fayda var.

Dolayısıyla bu durumda, YAML dosyasındaki local.path parametresine, montaj işlemi sırasında yürütülen kötü amaçlı komutlar sağlanabilir.

Kötü amaçlı komut enjeksiyonundan yararlanılabilirlik (Kaynak: Akamai)

Bu güvenlik açığından Kubernetes'in varsayılan yüklemelerinde (sürüm 1.28.4'ten önceki sürümler) yararlanılabilir ve hem şirket içi dağıtımlara hem de Azure Kubernetes Hizmetine karşı test edilmiştir.

Yama Analizi ve Azaltma Adımları

Kubernetes bu güvenlik açığı karşısında hızlı bir şekilde harekete geçti ve cmd satırı işlevini sildi. Bunu yalnızca sembolik bağlantı işlemini gerçekleştiren yerel bir Go işleviyle değiştirdiler.

Bu güvenlik açığı Kubernetes'in 1.28.4'ten önceki sürümünü etkilemektedir. Bu güvenlik açığından yararlanılmasını önlemek için kuruluşların Kubernetes'lerini en son sürüme yükseltmeleri önerilir.

Kubernetes'inizin etkilenip etkilenmediğini kontrol etmek için aşağıdaki komut çalıştırılabilir.

root@controller:~/$ kubectl düğümleri al -o geniş –etiketleri göster | grep “os=pencereler”

akswin000000 Hazır ajan 4d17h v1.26.6 Agentpool=win,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=windows…

akswin000001 Hazır ajan 4d17h v1.26.6 Agentpool=win,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=windows…

kök@kontrolör:~/$

Bizi Google Haberler, Linkedin'den takip ederek en son Siber Güvenlik Haberlerinden haberdar olun, heyecanve Facebook.





Source link