Docker Engine’deki Yüksek Şiddetli Güvenlik Açığı
Docker Engine’de, belirli koşullar altında saldırganların yetkilendirme eklentilerini aşmasına olanak tanıyan yüksek şiddetli bir güvenlik açığı keşfedilmiştir. Bu açığın önemi, potansiyel olarak Docker kullanıcılarının verilerinin ve sistemlerinin tehlikeye girmesiyle doğrudan ilişkilidir.
Açığın Ayrıntıları
Bu güvenlik açığı, CVE-2026-34040 olarak takip edilmekte ve CVSS skoru 8.8 olarak belirlenmiştir. Açık, Temmuz 2024’te ortaya çıkan ve aynı bileşende bulunan maksimum şiddetteki CVE-2024-41110 için kesin bir düzeltmenin yapılmamış olmasından kaynaklanmaktadır.
Docker Engine bakımcılarının açıkladığına göre, özel olarak hazırlanmış bir API isteği kullanarak, bir saldırgan Docker daemon’unu isteği yetkilendirme eklentisine iletmesi için yönlendirebilir. Ancak bu işlem isteğin gövdesi olmadan gerçekleşebilir. Bu durum, yetkilendirme eklentisinin gövde iletilmediği için, normalde engelleyeceği bir isteğe izin vermesine neden olabilir.
Etkilenen Sistemler
Bu güvenlik açığından etkilenen sistemler, yetkilendirme eklentilerine dayanan ve istek gövdesini inceleyerek erişim kontrolü yapan kullanıcıları kapsamaktadır. Birden fazla güvenlik araştırmacısı, Asim Viladi Oglu Manizada, Cody, Oleh Konko ve Vladimir Tokarev, bu hatayı bağımsız olarak keşfetmiş ve rapor etmiştir. Sorun, Docker Engine’in 29.3.1 sürümünde düzeltilmiştir.
Saldırı Nasıl Çalışıyor?
Açığın temelinde, CVE-2024-41110 için yapılan düzeltmenin aşırı boyutlu HTTP istek gövdesini düzgün bir şekilde ele almaması yatmaktadır. Bu durum, tek bir “padding” içeren HTTP isteği ile yetkili bir konteyner oluşturulmasına olanak tanımaktadır.
Hypotetik bir saldırı senaryosunda, Docker API erişimi bir AuthZ eklentisi tarafından sınırlı olan bir saldırgan, konteyner oluşturma isteğini 1MB’tan daha büyük hale getirebilir. Böylece istek, eklentiye ulaşmadan önce düşürülecektir.
Garage eklentisi, engellenecek bir şey görmediği için isteği kabul eder. Docker daemon’u tam isteği işler ve host’a kök erişimi olan yetkili bir konteyner oluşturur; bu da AWS kimlik bilgileri, SSH anahtarları ve Kubernetes yapılandırmaları üzerinde tam erişim sağlar.
Çözüm ve Korunma
Bu güvenlik açığına karşı alınabilecek önlemler şunlardır:
- Yetkilendirme eklentileri kullanmaktan kaçının ya da bu eklentilerin güvenlik kararlarında istek gövdesini incelemden istemediğine dikkat edin.
- Docker API erişimini yalnızca güvenilir taraflarla sınırlayın; az priviliges ilkesine uyun.
- Docker’ı rootless modda çalıştırın.
Tokarev, “Rootless modda, hatta yetkili bir konteynerin ‘root’ kullanıcısı bile yetkisiz bir ana makine UID’sine bağlanır. Etki alanı, ‘tam ana makine ihlali’ yerine ‘yetkisiz kullanıcıyı ihlal’ biçiminde düşer,” demektedir. Tamamen rootless olamayan ortamlar için, –userns-remap benzer UID eşlemesi sağlar.
Sonuç
Okuyucular, Docker Engine sürümlerini derhal 29.3.1 veya daha yenisi ile güncellemeli, gereksiz risklerden korunmak için Docker API erişimlerini titizlikle denetlemeli ve olabildiğince rootless mod kullanmalıdır. Bu şekilde, potansiyel bir saldırının önüne geçilebilir.


