CVE-2024-41051
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: cachefiles: nesne bırakılırken ondemand_object_worker'ın tamamlanması beklenir Nesneyi yeniden açmak için ondemand_object_worker() kuyruğa alındığında, cachefiles_object sabitlenmez. Bekleyen okuma isteği kasıtlı olarak tamamlandığında ve ilgili erofs ayırımı kaldırıldığında (umount), cachefiles_object serbest bırakılabilir. Eğer ondemand_object_worker(), nesne serbest bırakıldıktan sonra çalışırsa, aşağıda gösterildiği gibi bir serbest bırakıldıktan sonra kullanım (use-after-free) sorunu oluşacaktır. işlem A işlem B işlem C işlem D cachefiles_ondemand_send_req() // bir X okuma isteği gönderilir // tamamlanması beklenir // ondemand fd kapatılır cachefiles_ondemand_fd_release() // nesne CLOSE olarak ayarlanır cachefiles_ondemand_daemon_read() // nesne REOPENING olarak ayarlanır queue_work(fscache_wq, &info->ondemand_work) // /dev/cachefiles kapatılır cachefiles_daemon_release cachefiles_flush_reqs complete(&req->done) // X okuma isteği tamamlanır // erofs fs ayırımı kaldırılır (umount) cachefiles_put_object() // nesne serbest bırakılacaktır cachefiles_ondemand_deinit_obj_info() kmem_cache_free(object) // hem info hem de object serbest bırakılmıştır ondemand_object_worker() Bir nesne bırakılırken artık nesnenin yeniden açılmasına gerek yoktur, bu nedenle ondemand_object_worker()'ı iptal etmek veya bitmesini beklemek için cancel_work_sync() kullanılır.
Nasıl düzeltilir
- linux linux_kernel6.1.100, 6.6.41, 6.9.10 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 | 6.1.95 ≤ v < 6.1.100, 6.6.35 ≤ v < 6.6.41, 6.8 ≤ v < 6.9.10, 6.10 | 6.1.100, 6.6.41, 6.9.10 |
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.