CVE-2026-23086

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: vsock/virtio: TX kredisini yerel tampon boyutuyla sınırla virtio taşıyıcıları, TX kredisini doğrudan uzak uç noktanın SO_VM_SOCKETS_BUFFER_SIZE değerinden ayarlanan peer_buf_alloc üzerinden alır. Ana makine tarafında bu durum, bir bağlantı için kuyruğa alınmaya istekli olduğumuz veri miktarının, ana makinenin kendi vsock yapılandırması yerine konuk tarafından seçilen bir tampon boyutuyla ölçeklendirildiği anlamına gelir. Kötü niyetli bir konuk, büyük bir tampon bildirebilir ve verileri yavaş okuyarak ana makinenin buna paralel olarak çok büyük miktarda sk_buff belleği ayırmasına neden olabilir. virtio taşıyıcıları aynı kod tabanını paylaştığından, kötü niyetli bir ana makine ile konuk üzerinde de aynı durum meydana gelecektir. min(peer_buf_alloc, buf_alloc) değerini döndüren küçük bir yardımcı fonksiyon olan virtio_transport_tx_buf_size() eklenmiş ve peer_buf_alloc kullanılan her yerde bu fonksiyonun kullanılması sağlanmıştır. Bu işlem, etkili TX penceresinin hem karşı tarafın bildirdiği tampon hem de kendi buf_alloc değerimizle (SO_VM_SOCKETS_BUFFER_MAX_SIZE aracılığıyla zaten buffer_max_size ile sınırlandırılmıştır) sınırlı olmasını sağlar; böylece uzak bir uç nokta, diğer tarafı kendi vsock ayarlarının izin verdiğinden daha fazla veriyi kuyruğa almaya zorlayamaz. Yamalanmamış bir Ubuntu 22.04 ana makinesinde (~64 GiB RAM), her biri 2 GiB bildiren ve yavaş okuma yapan 32 konuk vsock bağlantısı içeren bir PoC çalıştırıldığında, Slab/SUnreclaim kullanımı ~0.5 GiB'dan ~57 GiB'a çıkmış ve sistem ancak QEMU işlemi sonlandırıldıktan sonra düzelmiştir. Bununla birlikte, QEMU belleği cgroups ile sınırlandırılmışsa, kullanılan maksimum bellek de sınırlı kalacaktır. Yamanın uygulanmasıyla: Önce: MemFree: ~61.6 GiB Slab: ~142 MiB SUnreclaim: ~117 MiB 32 yüksek kredili bağlantı sonrası: MemFree: ~61.5 GiB Slab: ~178 MiB SUnreclaim: ~152 MiB Slab/SUnreclaim kısmında yalnızca ~35 MiB artış olmuş, ana makinede OOM oluşmamış ve konuk yanıt verebilir durumda kalmıştır. virtio dışındaki taşıyıcılarla uyumluluk: - VMCI, soket başına kuyruk çiftlerini boyutlandırmak için yerel vsk->buffer_* değerlerine dayalı AF_VSOCK tampon ayarlarını kullanır; uzak taraf bu kuyrukları yerel uç noktanın yapılandırdığının ötesinde genişletemez. - Hyper-V'nin vsock taşıyıcısı sabit boyutlu VMBus halka tamponlarını ve bir MTU sınırını kullanır; peer_buf_alloc ile kıyaslanabilecek karşı taraf kontrollü bir kredi alanı yoktur ve uzak uç nokta, işlemdeki çekirdek belleğini bu halka boyutlarının üzerine çıkaramaz. - Loopback yolu virtio_transport_common.c dosyasını yeniden kullandığından, doğal olarak virtio taşıyıcısıyla aynı semantiği izler. Bu değişiklik virtio_transport_common.c ile sınırlıdır ve dolayısıyla virtio-vsock, vhost-vsock ve loopback bileşenlerini etkileyerek onları VMCI ve Hyper-V'nin halihazırda sahip olduğu "uzak pencerenin yerel politika ile kesişimi" davranışı ile uyumlu hale getirir.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın4 Şub 2026
İlk görülme4 Şub 2026

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.1.162, 6.6.122, 6.12.68, 6.18.8 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel4.8 ≤ v < 6.1.162, 6.2 ≤ v < 6.6.122, 6.7 ≤ v < 6.12.68, 6.13 ≤ v < 6.18.8, 6.196.1.162, 6.6.122, 6.12.68, 6.18.8

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.

Intelligence 360 paketinde

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.