CVE-2026-31702
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: f2fs: f2fs_compress_write_end_io() fonksiyonundaki sbi serbest bırakıldıktan sonra kullanım (use-after-free) hatası düzeltildi f2fs_compress_write_end_io() içerisinde, dec_page_count(sbi, type) çağrısı F2FS_WB_CP_DATA sayacını sıfıra indirebilir ve bu durum eşzamanlı bir ayırma (unmount) işlemi yapan CPU üzerindeki f2fs_put_super() içindeki f2fs_wait_on_all_pages() fonksiyonunun engelinin kalkmasına neden olur. Ayırma yolu daha sonra f2fs_destroy_page_array_cache(sbi) fonksiyonunu çağırarak kmem_cache_destroy() aracılığıyla sbi->page_array_slab yapısını ve nihayetinde kfree(sbi) ile sbi nesnesini yok eder. Bu sırada bio tamamlama geri çağırması (callback) hala yürütülmektedir: page_array_free(sbi, ...) kısmına ulaştığında, kmem_cache_free() fonksiyonunu çağırmak için yok edilmiş bir slab önbelleği olan sbi->page_array_slab referansını çözer ve bu da bir serbest bırakıldıktan sonra kullanım (use-after-free) hatasına yol açar. Bu hata, CVE-2026-23234 (data.c içerisindeki f2fs_write_end_io()'daki eşdeğer yarış durumunu düzelten açık) ile aynı sınıftadır ancak söz konusu düzeltmenin kapsamadığı sıkıştırılmış yazma geri çağırma (compressed writeback completion) yolunda meydana gelmektedir. Bu sorun, dec_page_count() çağrısının page_array_free() sonrasına taşınmasıyla düzeltilmiştir; böylece tüm sbi erişimleri, ayırma işleminin engelini kaldırabilecek sayaç azaltma işleminden önce tamamlanır. Son olmayan foliolarda (cic->pending_pages üzerindeki atomic_dec_return değerinin sıfırdan farklı olduğu durumlar), dec_page_count dönüşten hemen önce çağrılır; bu yolda page_array_free aşamasına gelinmediğinden azalma sonrası bir sbi erişimi gerçekleşmez. Son folio için ise, F2FS_WB_CP_DATA sayacı hala sıfırdan farklıyken (bu folio henüz sayacı azaltmamıştır) page_array_free çalışır, bu da sbi nesnesini hayatta tutar ve dec_page_count son işlem olarak yürütülür.
Nasıl düzeltilir
- linux linux_kernel6.6.136, 6.12.84, 6.18.25, 7.0.2 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 | 5.6 ≤ v < 6.6.136, 6.7 ≤ v < 6.12.84, 6.13 ≤ v < 6.18.25, 6.19 ≤ v < 7.0.2, 7.1 | 6.6.136, 6.12.84, 6.18.25, 7.0.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.
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.