CVE-2024-35794
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: dm-raid: askıya alma sırasında sync_thread gerçekten donduruluyor 1) f52f5c71f3d4 ("md: fix stopping sync thread") commit'i, MD_RECOVERY_FROZEN bayrağını __md_stop_writes() fonksiyonundan kaldırmış ve dm-raid'in sync_thread'i dolaylı olarak dondurmak için __md_stop_writes()'a güvendiğini fark etmemiştir. Bu sorun, md_stop_writes() içerisine MD_RECOVERY_FROZEN eklenerek ve bu durumda stop_sync_thread() yalnızca dm-raid için kullanıldığından, stop_sync_thread() fonksiyonunun da md_stop_writes() içerisine taşınmasıyla düzeltilmiştir. 2) MD_RECOVERY_FROZEN bayrağı, sync_thread'in dondurulduğu anlamına gelmez; yalnızca yeni bir sync_thread başlatılmasını engeller ve çalışan sync_thread'i durduramaz. sync_thread'i dondurmak için, bayrak ayarlandıktan sonra stop_sync_thread() kullanılmalıdır. 3) MD_RECOVERY_FROZEN bayrağı yazmaların durduğu anlamına gelmez, bu nedenle raid_postsuspend() içindeki md_stop_writes() için bunu koşul olarak kullanmak doğru görünmemektedir. Reentrant stop_sync_thread() fonksiyonunun hiçbir işlem yapmadığı göz önüne alınarak, raid_postsuspend() içinde her zaman md_stop_writes() çağrılmalıdır. 4) raid_message herhangi bir zamanda MD_RECOVERY_FROZEN bayrağını ayarlayabilir veya temizleyebilir ve dizi askıya alınmışken MD_RECOVERY_FROZEN temizlenirse, beklenmedik şekilde yeni bir sync_thread başlayabilir. Bu durum, suspend sırasında raid_message()'ın sync_thread durumunu değiştirmesine izin verilmeyerek düzeltilmiştir. f52f5c71f3d4 ("md: fix stopping sync thread") commit'inden sonra, shell/lvconvert-raid-reshape.sh testinin stop_sync_thread() aşamasında asılı kalmaya başladığı görülmüştür; önceki düzeltmelerle test artık orada asılı kalmamaktadır ancak test hala başarısız olmakta ve ext4'ün bozulduğuna dair hata vermektedir. Bu yama ile birlikte, test artık ne stop_sync_thread() nedeniyle asılı kalacak ne de ext4 bozulması nedeniyle başarısız olacaktır. Bununla birlikte, takip eden yamalarda düzeltilecek olan dm-raid456 ile ilgili bir deadlock durumu hala mevcuttur.
Nasıl düzeltilir
- linux linux_kernel6.7.12, 6.8.3 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 4.8 ≤ v < 6.7.12, 6.8 ≤ v < 6.8.3 | 6.7.12, 6.8.3 |
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.
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.