CVE-2024-26698

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: hv_netvsc: netvsc_probe ve netvsc_remove arasındaki yarış durumu (race condition) düzeltildi ac5047671758 ("hv_netvsc: Disable NAPI before closing the VMBus channel") numaralı commit'te, etkin olup olmadıkları doğrulanmaksızın tüm alt kanallar da dahil olmak üzere tüm kanallar için napi_disable çağrılıyordu. Bu durum; netvsc_probe() çalışmasını tamamladığında ancak nvdev->subchan_work henüz başlamadığında, hv_netvsc'nin napi_disable aşamasında asılı kalmasına neden oluyordu. netvsc_subchan_work() -> rndis_set_subchannel() alt kanalları oluşturmadığından dolayı netvsc_sc_open() çalışmıyordu. netvsc_remove(), netvsc_subchan_work'ün çalışmadığı cancel_work_sync(&nvdev->subchan_work) fonksiyonunu çağırıyordu. netif_napi_add(), NAPI'nin zamanlanamayacağını garanti etmek için NAPI_STATE_SCHED bitini ayarlar. Ardından netvsc_sc_open() -> napi_enable, zamanlanabilmesi için NAPIF_STATE_SCHED bitini temizler. napi_disable() ise bunun tersini yapar. Şimdi netvsc_device_remove() sırasında, bu alt kanallar için napi_disable çağrıldığında, napi_disable sonsuz bir msleep döngüsünde takılmaktadır. Bu düzeltme, napi_disable()'ın etkinleştirilmemiş NAPI yapıları (struct) için çağrılmamasını sağlayarak sorunu gidermektedir. Ancak temizleme amacıyla, etkinleştirilmemiş NAPI yapıları için netif_napi_del() hala gereklidir. Çağrı izi (Call trace): [ 654.559417] task:modprobe state:D stack: 0 pid: 2321 ppid: 1091 flags:0x00004002 [ 654.568030] Call Trace: [ 654.571221] <TASK> [ 654.573790] __schedule+0x2d6/0x960 [ 654.577733] schedule+0x69/0xf0 [ 654.581214] schedule_timeout+0x87/0x140 [ 654.585463] ? __bpf_trace_tick_stop+0x20/0x20 [ 654.590291] msleep+0x2d/0x40 [ 654.593625] napi_disable+0x2b/0x80 [ 654.597437] netvsc_device_remove+0x8a/0x1f0 [hv_netvsc] [ 654.603935] rndis_filter_device_remove+0x194/0x1c0 [hv_netvsc] [ 654.611101] ? do_wait_intr+0xb0/0xb0 [ 654.615753] netvsc_remove+0x7c/0x120 [hv_netvsc] [ 654.621675] vmbus_remove+0x27/0x40 [hv_vmbus]

ÖnemOrta
CVSS4.7
İstismar olasılığı—
ÜrünLinux Kernel
Yayın3 Nis 2024
İlk görülme3 Nis 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.10.210, 5.15.149, 6.1.79, 6.6.18, 6.7.6 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.8 ≤ v < 5.10.210, 5.11 ≤ v < 5.15.149, 5.16 ≤ v < 6.1.79, 6.2 ≤ v < 6.6.18, 6.7 ≤ v < 6.7.6, 6.85.10.210, 5.15.149, 6.1.79, 6.6.18, 6.7.6
debian debian_linux10.0—

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.

CVE-2024-26698 · Linux Kernel · Dark Radar