CVE-2025-22113
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: ext4: jurnal məhv edilirsə, xəta zamanı sb yeniləməsinin jurnalizasiyasından qaçınmaq Hazırda, JBD2_UNMOUNT ilə işarələnmiş jurnalda tranzaksiya başlatmağa çalışdıqda həmişə BUG_ON baş verir, çünki bu heç vaxt baş verməməlidir. Lakin, ltp stres testlərini icra edərkən müşahidə edilmişdir ki, bəzi xəta emalı yollarında, jurnal məhv edildikdən sonra update_super_work funksiyasının tranzaksiya başlatması mümkündür, məsələn: (umount) ext4_kill_sb kill_block_super generic_shutdown_super sync_filesystem /* bütün txnl-əri təsdiqləyir */ evict_inodes /* yeni txn başlada bilər */ ext4_put_super flush_work(&sbi->s_sb_upd_work) /* iş növbəsini təmizləyir */ jbd2_journal_destroy journal_kill_thread journal->j_flags |= JBD2_UNMOUNT; jbd2_journal_commit_transaction jbd2_journal_get_descriptor_buffer jbd2_journal_bmap ext4_journal_bmap ext4_map_blocks ... ext4_inode_error ext4_handle_error schedule_work(&sbi->s_sb_upd_work) /* iş növbəsi aktivləşir */ update_super_work jbd2_journal_start start_this_handle BUG_ON(journal->j_flags & JBD2_UNMOUNT) Buna görə də, jurnalın məhv edildiyini göstərən yeni bir mount bayrağı tətbiq edilir və yalnız bu bayraq təyin edilmədikdə sb-nin jurnalizə olunmuş (və təxirə salınmış) yeniləməsi həyata keçirilir. Əks halda, sadəcə jurnalizə olunmamış commit-ə keçid edilir. Bundan əlavə, jurnalın məhv edilməsi yolunda aşağıdakı ardıcıllığa malikiq: 1. Jurnalın məhv edildiyini göstərən mount bayrağını təyin etmək 2. Commit-i məcburi etmək və onu gözləmək 3. Gözləyən sb yeniləmələrini təmizləmək Bu ardıcıllıq vacibdir, çünki o təmin edir ki, bu nöqtədən sonra jurnalizə oluna biləcək heç bir sb yeniləməsi qalmasın və beləliklə, sb-ni jurnaldan kənarda yeniləmək təhlükəsiz olsun. (2d01ddc86606-da müzakirə edilən yarış vəziyyətinin qarşısını almaq üçün) Həmçinin, ext4_grp_locked_error funksiyasında oxşar yoxlamaya ehtiyac yoxdur, çünki o, yalnız mballoc tərəfindən çağırılır və gördüyüm qədərilə burada işin planlaşdırılması hər zaman etibarlı olardı.
Necə düzəltmək olar
- linux linux_kernel6.12.46, 6.14.2 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 | 5.11.1 ≤ v < 6.12.46, 6.13 ≤ v < 6.14.2, 5.11 | 6.12.46, 6.14.2 |
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.