CVE-2026-45942
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: ext4: e4b bitmap uyğunsuzluğu hesabatları düzəldildi Qarışıq böyük səhifə (huge-page) iş yükləri altında stres testləri zamanı bitmap uyğunsuzluğu problemi müşahidə edilmişdir. Ext4 aşağıdakılar kimi çox sayda e4b bitmap yoxlama xətaları vermişdir: ext4_mb_complex_scan_group:2508: group 350, 8179 free clusters as per group info. But got 8192 blocks Analiz və eksperimentlər təsdiqləmişdir ki, problem səhifə miqrasiyası ilə bitmap modifikasiyası arasındakı yarış şərtindən (race condition) qaynaqlanır. Bu zaman pəncərəsi olduqca dar olsa da, praktikada hələ də baş verir: folio_lock ext4_mb_load_buddy __migrate_folio check ref count folio_mc_copy __filemap_get_folio folio_try_get(folio) ...... mb_mark_used ext4_mb_unload_buddy __folio_migrate_mapping folio_ref_freeze folio_unlock Bu problemin kök səbəbi odur ki, load_buddy funksiyasının sürətli yolu (fast path) yalnız folionun istinad sayını artırır ki, bu da eyni vaxtda baş verən folio miqrasiyasının qarşısını almaq üçün kifayət deyil. Biz müşahidə etdik ki, folio miqrasiya prosesi folio kilidini əldə edir. Buna görə də, kilidin statusunu yoxlayaraq load_buddy-də sürətli yolun seçilib-seçilməyəcəyini müəyyən edə bilərik. Əgər folio kilidlənibsə, bu konkurentlik pəncərəsini bağlamaq üçün biz yavaş yolu (hansı ki, kilidi əldə edir) seçirik. Əlavə olaraq, bu dəyişiklik aşağıdakı problemləri də həll edir: Bitmap ilə bağlı problemləri araşdırmaq üçün DOUBLE_CHECK makrosu aktivləşdirildikdə, aşağıdakı xəta yarana bilər: corruption in group 324 at byte 784(6272): f in copy != ff on disk/prealloc Analiz göstərir ki, bu yanlış müsbət (false positive) nəticədir. Bitmap və qrup deskriptorunun anlıq olaraq uyğunsuz hala gəldiyi xüsusi bir yarış pəncərəsi mövcuddur və bu, sözügedən xəta hesabatına səbəb olur: ext4_mb_load_buddy ext4_mb_load_buddy __filemap_get_folio(create|lock) folio_lock ext4_mb_init_cache folio_mark_uptodate __filemap_get_folio(no lock) ...... mb_mark_used mb_mark_used_double mb_cmp_bitmaps mb_set_bits(e4b->bd_bitmap) folio_unlock Orijinal məntiq fərz edirdi ki, mb_cmp_bitmaps bitmap diskdən yeni yükləndikdə çağırıldığı üçün, folio kilidi eyni vaxtda girişi önləmək üçün kifayət edəcəkdir. Lakin bu, xüsusi bir yarış şərtini nəzərə almırdı: əgər başqa bir proses buddy-ni yükləməyə çalışsa və folionun artıq aktual (uptodate) vəziyyətdə olduğunu görsə, o, folio kilidini saxlamadan dərhal onu istifadə etməyə başlayacaqdır.
Necə düzəltmək olar
- linux linux_kernel6.6.130, 6.12.75, 6.18.14, 6.19.4 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 | 2.6.25 ≤ v < 6.6.130, 6.7 ≤ v < 6.12.75, 6.13 ≤ v < 6.18.14, 6.19 ≤ v < 6.19.4 | 6.6.130, 6.12.75, 6.18.14, 6.19.4 |
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.