CVE-2024-26704
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: ext4: yanlış extents moved_len səbəbindən blokların iki dəfə azad edilməsi (double-free) problemi düzəldildi ext4_move_extents() funksiyasında moved_len yalnız bütün köçürmələr uğurla yerinə yetirildikdə yenilənir və yalnız moved_len sıfırdan fərqli olduqda orig_inode və donor_inode öncədən ayrılmış sahələrini (preallocations) ləğv edir. Bəzi extent-lər uğurla köçürüldükdən sonra dövr operatoru çıxış etmədikdə, moved_len yenilənmir və 0 olaraq qalır, buna görə də öncədən ayrılmış sahələri ləğv etmir. Əgər köçürülmüş extent-lər öncədən ayrılmış extent-lərlə üst-üstə düşərsə, kəsişən extent-lər ext4_mb_release_inode_pa() və ext4_process_freed_data() funksiyalarında iki dəfə azad edilir (commit 94d7c16cbbbd ("ext4: Fix double-free of blocks with EXT4_IOC_MOVE_EXT") sənədində təsvir edildiyi kimi) və bb_free iki dəfə artırılır. Beləliklə, trim icra edildikdə, bb_free sıfır olmadığı, lakin bb_fragments sıfır olduğu üçün mb_update_avg_fragment_size() funksiyasında sıfıra bölmə xətası baş verir. Buna görə də, problemin qarşısını almaq üçün hər bir extent köçürməsindən sonra move_len yenilənir.
Necə düzəltmək olar
- linux linux_kernel4.19.307, 5.4.269, 5.10.210, 5.15.149, 6.1.79, 6.6.18, 6.7.6 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| 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 | — |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.