CVE-2026-72472
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: nfs: fayl kilid siyahısının keçidini qorumaq üçün nfsi->rwsem istifadə edin Lingfeng bir xəta müəyyən etmiş və iki həll yolu təklif etmişdir, lakin hər ikisində problemlər olduğu görünür. Ümumiyyətlə, fayl kilidləri ilə bağlı use-after-free (UAF) problemlərinin qarşısını almaq üçün fayl kilid siyahısı üzrə iterasiya zamanı flc_lock sərbəst buraxıla bilməz. Lakin nfs_delegation_claim_locks və nfs4_reclaim_locks kimi funksiyalar bu qaydaya əməl edə bilmir, çünki recover_lock və ya nfs4_lock_delegation_recall uzun vaxt ala bilər. Bunu həll etmək üçün NFS eyni qorumaya görə nfsi->rwsem istifadəsinə keçir və nfs_reclaim_locks bu yanaşmanı tətbiq edir. nfs_delegation_claim_locks funksiyası bunun əvəzinə so_delegreturn_mutex istifadə etsə də, bu kifayət deyil, çünki tək bir inode çox sayda nfs4_state nümunələrinə malik ola bilər. Buna görə də, düzəliş bu halda da nfsi->rwsem istifadə etməkdir. Bundan əlavə, c69899a17ca4 ("NFSv4: Update of VFS byte range lock must be atomic with the stateid update") commit-indən sonra nfs4_locku_done və nfs4_lock_done funksiyaları da nfsi->rwsem tutmadan locks_lock_inode_wait çağırıqları etdikləri üçün bu qaydanı pozurlar. Sadəcə bu qorumanın əlavə edilməsi çox sayda deadlock-a səbəb ola bildiyi üçün, locks_lock_inode_wait çağırışı _nfs4_proc_setlk daxilinə köçürülüb. c69899a17ca4 ("NFSv4: Update of VFS byte range lock must be atomic with the stateid update") commit-i ilə düzəldilən xətaya gəldikdə isə, o, 0460253913e5 ("NFSv4: nfs4_do_open() is incorrectly triggering state recovery") commit-indən sonra həll edilmişdir, çünki nfs4_do_reclaim çağırılmamışdan əvvəl bütün slotlar boşaldılır ki, bu da həmin yolda eyni vaxtda baş verən stateid dəyişikliklərinin qarşısını alır. Həmçinin, nfs_delegation_claim_locks bu konkurentliyə səbəb olmur, çünki _nfs4_proc_setlk NFS_DELEGATED_STATE ilə çağırıldıqda heç bir RPC göndərilmir, beləliklə nfs4_lock_done çağırılmır. Buna görə də, nfs_delegation_claim_locks-dən nfs4_lock_delegation_recall çağırışı stateid-nin təyin edildiyi ilk andır.
Necə düzəltmək olar
- Linux Linux7813adb38c88573b730219c1dc1b630dfab7165e, 1cda95bf2e9c0e6b63545b7565fe4a1e474322f4, f161ef7b0dd2f51fdb002ba4a4e9bf0ee7409218, e68035178e65e2b3aa386ce61202ff33724ae418, 4837fb36219e6c08b666bc31a86841bad8526358 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | c69899a17ca4836230720e65493942d9582a0424 ≤ v < 7813adb38c88573b730219c1dc1b630dfab7165e, c69899a17ca4836230720e65493942d9582a0424 ≤ v < 1cda95bf2e9c0e6b63545b7565fe4a1e474322f4, c69899a17ca4836230720e65493942d9582a0424 ≤ v < f161ef7b0dd2f51fdb002ba4a4e9bf0ee7409218, c69899a17ca4836230720e65493942d9582a0424 ≤ v < e68035178e65e2b3aa386ce61202ff33724ae418, c69899a17ca4836230720e65493942d9582a0424 ≤ v < 4837fb36219e6c08b666bc31a86841bad8526358, 4.0 | 7813adb38c88573b730219c1dc1b630dfab7165e, 1cda95bf2e9c0e6b63545b7565fe4a1e474322f4, f161ef7b0dd2f51fdb002ba4a4e9bf0ee7409218, e68035178e65e2b3aa386ce61202ff33724ae418, 4837fb36219e6c08b666bc31a86841bad8526358 |
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.