CVE-2024-26704
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: ext4: hatalı extents moved_len nedeniyle blokların çift serbest bırakılması (double-free) sorunu düzeltildi ext4_move_extents() fonksiyonunda, moved_len yalnızca tüm taşıma işlemleri başarıyla yürütüldüğünde güncellenir ve yalnızca moved_len sıfır olmadığında orig_inode ile donor_inode ön tahsislerini (preallocations) iptal eder. Döngü, bazı extent'leri başarıyla taşıdıktan sonra çıkış yapamazsa, moved_len güncellenmez ve 0 olarak kalır; bu nedenle ön tahsisler iptal edilmez. Taşınan extent'ler ön tahsis edilmiş extent'lerle örtüşürse, örtüşen extent'ler ext4_mb_release_inode_pa() ve ext4_process_freed_data() fonksiyonlarında iki kez serbest bırakılır (commit 94d7c16cbbbd ("ext4: Fix double-free of blocks with EXT4_IOC_MOVE_EXT") içerisinde açıklandığı gibi) ve bb_free değeri iki kez artırılır. Bu nedenle, trim işlemi yürütüldüğünde, bb_free sıfır değilken bb_fragments değerinin sıfır olması sebebiyle mb_update_avg_fragment_size() fonksiyonunda bir sıfıra bölme hatası tetiklenir. Bu nedenle, söz konusu sorunu önlemek için her extent taşıma işleminden sonra move_len güncellenmiştir.
Nasıl düzeltilir
- linux linux_kernel4.19.307, 5.4.269, 5.10.210, 5.15.149, 6.1.79, 6.6.18, 6.7.6 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 | 3.18 ≤ v < 4.19.307, 4.20 ≤ v < 5.4.269, 5.5 ≤ v < 5.10.210, 5.11 ≤ v < 5.15.149, 5.16 ≤ v < 6.1.79, 6.2 ≤ v < 6.6.18, 6.7 ≤ v < 6.7.6, 6.8 | 4.19.307, 5.4.269, 5.10.210, 5.15.149, 6.1.79, 6.6.18, 6.7.6 |
| debian debian_linux | 10.0 | — |
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.