CVE-2024-26935

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: scsi: core: Kaldırılmayan procfs ana bilgisayar dizini regresyonunu düzeltin fc663711b944 numaralı commit ("scsi: core: /proc/scsi/${proc_name} dizinini daha erken kaldır"), scsi_remove_host() fonksiyonuna scsi_proc_hostdir_rm() çağrısı ekleyerek modül yükleme/kaldırma ile ilgili bir hatayı gidermiştir. Ancak bu durum, hostdir_rm() rutininin aynı zamanda scsi_host_dev_release() tarafından da çağrılması nedeniyle potansiyel bir mükerrer çağrıya yol açmıştır. Bu durum bir regresyon raporunu tetiklemiş ve ardından be03df3d4bfe numaralı commit ("scsi: core: Bir procfs ana bilgisayar dizini kaldırma regresyonunu düzeltin") ile giderilmiştir. Söz konusu düzeltme, sadece dev_release() içerisindeki hostdir_rm() çağrısını kaldırmıştır. Ancak bu proc dizini scsi_host_alloc() sırasında oluşturulmakta olup, bu fonksiyon scsi_host_dev_release() ile "eşleşirken"; scsi_remove_host() ise scsi_add_host() ile eşleşmektedir. Diğer bir ifadeyle, proc dizininin dev_release() üzerinde kaldırılmasının nedeni, bir SCSI ana bilgisayar yapısının tahsis edildiği ancak scsi_add_host() çağrısının gerçekleşmediği durumları kapsamak istemiş görünmektedir. Örneğin bazı hata yollarında bu örüntü mevcuttur. Syzkaller, USB raw gadget cihazını kullanarak usb-storage sürücüsünde, usb_stor_probe2() aşamasında hata oluşturarak buna neden olmaktadır. Bu yol kontrol edildiğinde, BadDevice etiketinin SCSI ana bilgisayar tahsisinden sonra bir scsi_host_put() işlemine yol açtığı, ancak böyle bir yolda scsi_add_host() çağrısının olmadığı görülmektedir. Bu durum dmesg'de şu tarz mesajlara (ve SCSI ana bilgisayar proc yapısının sızıntısına) yol açmaktadır: usb-storage 4-1:87.51: USB Mass Storage device detected proc_dir_entry 'scsi/usb-storage' already registered WARNING: CPU: 1 PID: 3519 at fs/proc/generic.c:377 proc_register+0x347/0x4e0 fs/proc/generic.c:376 Uygun düzeltme, dev_release() üzerinde hala scsi_proc_hostdir_rm() fonksiyonunu çağırmak, ancak bunu SHOST_CREATED durumu kontrolü ile korumaktır; hatta scsi_host_dev_release() içerisinde bunu detaylandıran bir yorum bulunmaktadır: böyle bir koşullu ifade, usb-storage örneğinde olduğu gibi, SCSI ana bilgisayarının tahsis edildiği ancak {add,remove}_host() çağrılarının yapılmadığı durumlar için tasarlanmıştır. Burada önerilen çözüm budur ve bununla birlikte, usb-storage hata yolu artık uyarıyı tetiklememektedir.

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

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.4.274, 5.10.215, 5.15.154, 6.1.84, 6.3, 6.6.24, 6.7.12, 6.8.3 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.4.238 ≤ v < 5.4.274, 5.10.176 ≤ v < 5.10.215, 5.15.104 ≤ v < 5.15.154, 6.1.21 ≤ v < 6.1.84, 6.2.8 ≤ v < 6.3, 6.3.1 ≤ v < 6.6.24, 6.7 ≤ v < 6.7.12, 6.8 ≤ v < 6.8.3, 6.3, 6.95.4.274, 5.10.215, 5.15.154, 6.1.84, 6.3, 6.6.24, 6.7.12, 6.8.3
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.