CVE-2026-98682
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: smb: client: server tərəfli kopyalama/klonlamadan əvvəl boşaltma və etibarsızlaşdırma cifs_file_copychunk_range() və cifs_remap_file_range()-in klonlama (FICLONE) yolu, digər server tərəfli diapazon əməliyyatlarının (smb3_zero_range(), smb3_punch_hole(), smb3_collapse_range() və smb3_insert_range()) etdiyi kimi hədəf səhifə keşini server tərəfli kopyalamaya qarşı ardıcıl etmir. cifs_file_copychunk_range() hədəf diapazonunu daxildə mapping-in invalidate_lock kilidini götürüb buraxan filemap_invalidate_inode() ilə etibarsızlaşdırır, buna görə də copychunk ioctl göndərildikdə kilid artıq saxlanılmır. O, həmçinin hədəfdəki davam edən netfs I/O əməliyyatlarını heç vaxt boşaltmır. Klonlama yolu isə invalidate_lock kilidini ümumiyyətlə götürmür (yalniz i_rwsem), sadə truncate_inode_pages_range() istifadə edir və eynilə gözlənilən I/O əməliyyatlarını boşaltmır. Nəticə etibarilə, asinxron hədəf yazılması (writeback) server tərəfli kopyalama/klonlama icra edildikdən sonra tamamlana bilər və server tərəfindən yeni yazılmış bölgə üzərinə köhnəlmiş məlumatları bərpa edərək faylı korlaya bilər. Bu, d7d2adcd022b ("smb/client: flush dirty data before punching a hole") commit-indəki korlanma ilə eyni sinifə aiddir və Windows Server-ə qarşı generic/363 testində təsadüfi şəkildə müşahidə edilmişdir. Hər iki yol müəyyən edilmiş ardıcıllığa uyğunlaşdırılaraq düzəldildi: hədəf mapping-in invalidate_lock kilidi hədəfin boşaldılması (flush), etibarsızlaşdırılması və server ioctl əməliyyatı boyunca saxlanılır və ioctl göndərilməzdən əvvəl davam edən yazmaları boşaltmaq üçün hədəfdə netfs_wait_for_outstanding_io() çağırılır. Mənbə yalnız boşaldıldığı və etibarsızlaşdırılmadığı üçün yalnız hədəf inode-nun invalidate_lock kilidi tələb olunur; i_rwsem (artıq lock_two_nondirectories() vasitəsilə saxlanılır) VFS kilid ardıcıllığına uyğun olaraq invalidate_lock-dan əvvəl əldə edilir. filemap_invalidate_inode() həmin kilidi daxildə götürdüyü üçün onu çağırmaq əvəzinə öz unmap/flush/invalidate addımları ilə əvəz edildi və diapazon azalmasının (underflow) qarşısını almaq üçün sıfır uzunluqlu kopyalama zamanı erkən geri dönüş təmin edildi.
Necə düzəltmək olar
- Linux Linuxdc71660f11ef2fecc0695a41e49cd496a9d255ab, c9b1194e8ec99d95db25db45edd2fbf690f043ab, 6.2, 6.7 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | c54fc3a4f375663f2361a9cbb2955fb4ef912879 ≤ v < dc71660f11ef2fecc0695a41e49cd496a9d255ab, c54fc3a4f375663f2361a9cbb2955fb4ef912879 ≤ v < c9b1194e8ec99d95db25db45edd2fbf690f043ab, 358bd5f436d820bb758833050aae065b35d6986c, 43801359c8971cc49b4a4db5015fba77fbd09c32, 6.1.68 ≤ v < 6.2, 6.6.7 ≤ v < 6.7, 6.7 | dc71660f11ef2fecc0695a41e49cd496a9d255ab, c9b1194e8ec99d95db25db45edd2fbf690f043ab, 6.2, 6.7 |
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.