CVE-2022-49159

Yüksek

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: scsi: qla2xxx: SRB için referans sayacı uygulanması Zaman aşımı işleyicisi ve tamamlanma fonksiyonu arasında bir yarış durumu (race condition) bulunmaktadır. qla2x00_async_iocb_timeout() çalışmaya başladığında, normal yanıt yolu (firmware aracılığıyla?) tarafından kesintiye uğratılabilir. qla24xx_async_gpsc_sp_done() fonksiyonu SRB'yi koşulsuz olarak serbest bırakır. qla2x00_async_iocb_timeout() işlemine geri dönüldüğünde, qla24xx_async_abort_cmd() serbest bırakılmış bir sp->qpair işaretçisine erişecektir: qla2xxx [0000:83:00.0]-2871:0: Async-gpsc timeout - hdl=63d portid=234500 50:06:0e:80:08:77:b6:21. qla2xxx [0000:83:00.0]-2853:0: Async done-gpsc res 0, WWPN 50:06:0e:80:08:77:b6:21 qla2xxx [0000:83:00.0]-2854:0: Async-gpsc OUT WWPN 20:45:00:27:f8:75:33:00 speeds=2c00 speed=0400. qla2xxx [0000:83:00.0]-28d8:0: qla24xx_handle_gpsc_event 50:06:0e:80:08:77:b6:21 DS 7 LS 6 rc 0 login 1|1 rscn 1|0 lid 5 BUG: unable to handle kernel NULL pointer dereference at 0000000000000004 IP: qla24xx_async_abort_cmd+0x1b/0x1c0 [qla2xxx] Bunun belirgin çözümü bir referans sayacı eklemektir. Normal kod yolu ('iyi' durum) için bir referans ve zaman aşımı yolu için bir referans alınır. Normal iyi durum ile zaman aşımı/iptal işleyicisi arasında her zaman bir yarış durumu olduğu için bunu serileştirmek gerekir. Ayrıca, işleyiciler arasında herhangi bir sıra varsayılamaz. Bu yavaş bir yol olduğundan, kilitler aracılığıyla uygun senkronizasyon kullanılabilir. Bir zamanlayıcıyı iptal edebildiğimizde (del_timer 1 döndürdüğünde), zaman aşımı işleyicisi henüz sona ermediği için devam eden herhangi bir hata yönetimi olamayacağını biliriz; bu nedenle referans sayacını güvenle bir azaltabiliriz. Zamanlayıcıyı iptal edemezsek, bir iptal işleyicisinin çalıştığını biliriz. kref_put() çağırmadan önce iptal işleyicilerinde sp->done() fonksiyonunu çağırdığımızdan emin olmalıyız.

ÖnemYüksek
CVSS8.8
İstismar olasılığı—
ÜrünLinux Kernel
Yayın26 Şub 2025
İlk görülme26 Şub 2025

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.15.33, 5.16.19, 5.17.2 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.15 ≤ v < 5.15.33, 5.16 ≤ v < 5.16.19, 5.17 ≤ v < 5.17.25.15.33, 5.16.19, 5.17.2

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-2022-49159 · Linux Kernel · Dark Radar