CVE-2024-35981

Orta

Açıklama

Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: virtio_net: Desteklenmiyorsa RSS anahtarını göndermeyin virtio_net içerisinde RSS seçenekleri ayarlanırken tüm makineyi çökertebilen ve çekirdeği sonsuz döngüye sokan bir hata bulunmaktadır. virtionet kullanan herhangi bir QEMU sanal makinesinde aşağıdaki komutun çalıştırılması bu sorunu yeniden oluşturacaktır: # ethtool -X eth0 hfunc toeplitz Sorunun oluşma süreci şöyledir: 1) ethtool_set_rxfh(), virtnet_set_rxfh() fonksiyonunu çağırır. 2) virtnet_set_rxfh(), virtnet_commit_rss_command() fonksiyonunu çağırır. 3) virtnet_commit_rss_command(), rss scatter-gather için 4 giriş doldurur. 4) Yukarıdaki komutta bir anahtar bulunmadığından, rss_key_size == 0 olduğu için son scatter-gather girişi sıfırlanır. sg_buf_size = vi->rss_key_size; 5) Bu tampon bellek qemu'ya iletilir ancak qemu sıfır uzunluktaki bir tampon bellekten memnun kalmaz ve virtqueue_map_desc() (QEMU fonksiyonu) içerisinde şunu yapar: if (!sz) { virtio_error(vdev, "virtio: zero sized buffers are not allowed"); 6) virtio_error() (yine bir QEMU fonksiyonu), cihazı bozuk (broken) olarak işaretler: vdev->broken = true; 7) Qemu işlemi durdurur ve bu hatalı çekirdek durumuna yanıt vermez. 8) Çekirdek, yanıtın geri gelmesini bekler (virtnet_send_command() fonksiyonu). 9) Çekirdek şu işlemi yaparak beklemeye devam eder: while (!virtqueue_get_buf(vi->cvq, &tmp) && !virtqueue_is_broken(vi->cvq)) cpu_relax(); 10) Yukarıdaki koşulların hiçbiri doğru olmadığı için çekirdek burada sonsuza kadar döngüye girer. virtqueue_is_broken() fonksiyonunun qemu tarafındaki `vdev->broken` değerini kontrol etmediği göz önüne alındığında, virtio'nun QEMU tarafında bozulduğunu asla fark etmez. Özellik cihazda mevcut değilse RSS komutlarının gönderilmemesi sağlanarak sorun giderilmiştir.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın20 May 2024
İlk görülme20 May 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.1.90, 6.6.29, 6.8.7 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.18 ≤ v < 6.1.90, 6.2 ≤ v < 6.6.29, 6.7 ≤ v < 6.8.7, 6.96.1.90, 6.6.29, 6.8.7

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.