CVE-2026-31598
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ocfs2: unlink ve dio_end_io_write arasında oluşabilecek olası deadlock hatası düzeltildi ocfs2_unlink önce orphan dir inode_lock'ı ardından ip_alloc_sem kilidini alırken; ocfs2_dio_end_io_write içerisinde bu kilitler ters sırada alınmaktadır. Bu durum, ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE] ve ocfs2_file_ip_alloc_sem_key kilit sınıfları üzerinde bir ABBA kilit sıralama ihlali oluşturur. Kilit Zinciri #0 (orphan dir inode_lock -> ip_alloc_sem): ocfs2_unlink ocfs2_prepare_orphan_dir ocfs2_lookup_lock_orphan_dir inode_lock(orphan_dir_inode) <- Kilit A __ocfs2_prepare_orphan_dir ocfs2_prepare_dir_for_insert ocfs2_extend_dir ocfs2_expand_inline_dir down_write(&oi->ip_alloc_sem) <- Kilit B Kilit Zinciri #1 (ip_alloc_sem -> orphan dir inode_lock): ocfs2_dio_end_io_write down_write(&oi->ip_alloc_sem) <- Kilit B ocfs2_del_inode_from_orphan() inode_lock(orphan_dir_inode) <- Kilit A Deadlock Senaryosu: CPU0 (unlink) CPU1 (dio_end_io_write) ------ ------ inode_lock(orphan_dir_inode) down_write(ip_alloc_sem) down_write(ip_alloc_sem) inode_lock(orphan_dir_inode) ip_alloc_sem, ocfs2_del_inode_from_orphan içerisindeki işlemlerle ilgisi olmayan tahsis değişikliklerini korumak içindir. Bu nedenle, deadlock hatasını gidermek için ocfs2_del_inode_from_orphan fonksiyonu ip_alloc_sem dışına taşınmıştır.
Nasıl düzeltilir
- linux linux_kernel6.6.136, 6.12.83, 6.18.24, 6.19.14, 7.0.1 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.6 ≤ v < 6.6.136, 6.7 ≤ v < 6.12.83, 6.13 ≤ v < 6.18.24, 6.19 ≤ v < 6.19.14, 7.0 ≤ v < 7.0.1 | 6.6.136, 6.12.83, 6.18.24, 6.19.14, 7.0.1 |
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.