CVE-2024-47680

Orta

Açıklama

Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: f2fs: geleneksel bölgeler için discard desteğini denetle Yardımcı işlev f2fs_bdev_support_discard()'ın gösterdiği gibi, f2fs hedef blok aygıtlarının discard desteğini bdev_max_discard_sectors() ve bdev_is_zoned() işlevlerini çağırarak denetler. Bu denetim çoğu durumda iyi çalışır, ancak bölgelendirilmiş blok aygıtlarındaki geleneksel bölgeler için çalışmaz. F2fs, bölgelendirilmiş blok aygıtlarının discard desteğini varsayar ve __submit_discard_cmd() işlevini çağırır. __submit_discard_cmd() sıralı yazma gerektiren bölgeler için çağrıldığında, __submit_discard_cmd() discard komutları yerine bölge sıfırlama komutları verdiğinden düzgün çalışır. Ancak __submit_discard_cmd() geleneksel bölgeler için çağrıldığında, aygıtlar discard desteğini sunmasa bile __blkdev_issue_discard() çağrılır. Uygunsuz __blkdev_issue_discard() çağrısı, __blkdev_issue_discard() hedef aygıtların discard desteğini sunup sunmadığını denetlediğinden, 30f1e7241422 ("block: move discard checks into the ioctl handler") commit'inden önce bir sorun değildi. Sunmuyorsa EOPNOTSUPP döndürüyordu. Bu commit'ten sonra __blkdev_issue_discard() artık bunu denetlemez. Her zaman sıfır döndürür ve verilen bio işaretçisine NULL atar. Bu NULL işaretçi, __submit_discard_cmd() içindeki f2fs_bug_on() işlevini tetikler. BUG, aşağıdaki komutlarla umount adımında yeniden oluşturulur; burada /dev/nullb0, 5GB toplam boyuta, 128MB bölge boyutuna ve 10 geleneksel bölgeye sahip bölgelendirilmiş bir null_blk aygıtıdır. $ mkfs.f2fs -f -m /dev/nullb0 $ mount /dev/nullb0 /mnt $ for ((i=0;i<5;i++)); do dd if=/dev/zero of=/mnt/test bs=65536 count=1600 conv=fsync; done $ umount /mnt BUG'ı düzeltmek için uygunsuz __blkdev_issue_discard() çağrısından kaçının. Geleneksel bölgeler için discard istendiğinde, aygıtın discard desteğini sunup sunmadığını denetleyin. Sunmuyorsa EOPNOTSUPP döndürün.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın21 Eki 2024
İlk görülme21 Eki 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.10.13, 6.11.2 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.10 ≤ v < 6.10.13, 6.11 ≤ v < 6.11.26.10.13, 6.11.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-2024-47680 · Linux Kernel · Dark Radar