CVE-2023-28842
Açıklama
(Moby), Docker Inc. tarafından geliştirilen ve Docker, Mirantis Container Runtime ile çeşitli diğer alt projeler/ürünler olarak dağıtılan açık kaynaklı bir konteyner çerçevesidir. moby/moby olarak geliştirilen Moby daemon bileşeni (`dockerd`), yaygın olarak *Docker* olarak adlandırılır. `dockerd` içerisinde derlenen ve varsayılan olarak sunulan, dolayısıyla çoğu büyük Moby türevinde bulunan Swarm Mode; SwarmKit ve destekleyici ağ kodunun bir kombinasyonu aracılığıyla uygulanan basit, yerleşik bir konteyner orkestratörüdür. `overlay` ağ sürücüsü, küme genelindeki konteynerler ve servisler arasında iletişime izin veren izole sanal LAN'lar sağlayan Swarm Mode'un temel bir özelliğidir. Bu sürücü, bağlantı katmanı (Ethernet) çerçevelerini, kaynağı olan overlay ağı tanımlayan bir VXLAN Ağ Kimliği (VNI) dahil olmak üzere çerçeveyi VXLAN meta verileriyle etiketleyen UDP datagramları içine kapsülleyen VXLAN'ın bir uygulamasıdır/kullanıcısıdır. Ek olarak, overlay ağ sürücüsü, özellikle VXLAN paketleri düğümler arasında güvenilmeyen bir ağdan geçerken yararlı olan, varsayılan olarak kapalı olan isteğe bağlı şifreli bir modu destekler. Şifreli overlay ağlar, VXLAN datagramlarını Taşıma modundaki IPsec Kapsülleme Güvenlik Yükü protokolünü kullanarak kapsülleyerek çalışır. IPSec kapsüllemesi devreye alınarak, şifreli overlay ağlar kriptografik kanıt yoluyla kaynak kimlik doğrulaması, kontrol toplamı yoluyla veri bütünlüğü ve şifreleme yoluyla gizlilik gibi ek özellikler kazanır. Şifreli bir overlay ağ üzerinde bir uç nokta kurulurken, Moby hem gelen hem de giden IPSec'i zorunlu kılan üç iptables (Linux çekirdek güvenlik duvarı) kuralı yükler. Bu kurallar, IPSec garantilerinin diğer overlay ağlara veya diğer VXLAN kullanıcılarına müdahale etmeden şifreli overlay ağlarda uygulanabilmesi için, bir VXLAN paketinin VNI alanı üzerinden doğrudan filtreleme yapmak amacıyla `xt_u32` çekirdek modülü tarafından sağlanan `u32` iptables uzantısına dayanır. `overlay` sürücüsü, konteynerler eklendikçe ve çıkarıldıkça her düğümdeki VXLAN ağı için çekirdek yapılandırmasını dinamik ve tembel (lazy) olarak tanımlar. Rotalar ve şifreleme parametreleri yalnızca ağa katılan hedef düğümler için tanımlanır. Şifreli overlay ağların şifrelenmemiş paketleri kabul etmesini önleyen iptables kuralları, iletişim kurulacak bir eş mevcut olana kadar oluşturulmaz. Şifreli overlay ağlar, şifreli bir overlay ağın VNI'si ile etiketlenmiş açık metin VXLAN datagramlarını sessizce kabul eder. Sonuç olarak, rastgele Ethernet çerçevelerini VXLAN datagramları içine kapsülleyerek şifreli overlay ağa enjekte etmek mümkündür. Bunun etkileri oldukça ciddi olabilir; daha derinlemesine bir inceleme için GHSA-vwm3-crmr-xfxw referans alınmalıdır. Yamalar Moby 23.0.3 ve 20.10.24 sürümlerinde mevcuttur. Mirantis Container Runtime'ın 20.10 sürümleri farklı şekilde numaralandırıldığı için, bu platformun kullanıcıları 20.10.16 sürümüne güncellenmelidir. Bazı geçici çözümler mevcuttur. Çok düğümlü kümelerde, her düğümde her şifreli overlay ağ için küresel bir 'pause' konteyneri konuşlandırın. Tek düğümlü bir küme için hiçbir türde overlay ağ kullanmayın. Köprü (bridge) ağlar tek bir düğümde aynı bağlantıyı sağlar ve çok düğümlü özelliklere sahip değildir. Swarm giriş (ingress) özelliği bir overlay ağ kullanılarak uygulanır, ancak portlar `ingress` modu yerine `host` modunda yayınlanarak (harici bir yük dengeleyici kullanımına izin verilerek) ve `ingress` ağı kaldırılarak devre dışı bırakılabilir. Eğer sadece şifreli overlay ağlar kullanılıyorsa, IPSec tarafından doğrulanmamış trafikten gelen UDP port 4789 engellenmelidir.
Nasıl düzeltilir
- mobyproject moby20.10.24, 23.0.3 ya da sonraki bir sürüm
- github.com/docker/docker20.10.24, 23.0.3, 20.10.24+incompatible, 23.0.3+incompatible ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| mobyproject moby | 1.12.0 ≤ v < 20.10.24, 23.0.0 ≤ v < 23.0.3 | 20.10.24, 23.0.3 |
| github.com/docker/dockerGo | 1.12.0 ≤ v < 20.10.24, 23.0.0 ≤ v < 23.0.3, 1.12.0 ≤ v < 20.10.24+incompatible, 23.0.0+incompatible ≤ v < 23.0.3+incompatible | 20.10.24, 23.0.3, 20.10.24+incompatible, 23.0.3+incompatible |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.