CVE-2026-68086
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: mm/khugepaged: birləşdirərkən bütün çirkli fayl foliolarını yazın [Upstream commit mövcud deyil, çünki bu kod upstream commit 044925f9b565 ("mm: fs: remove filemap_nr_thps*() functions and their users") tərəfindən silinib] Mövcud vəziyyətdə, khugepaged və yazıla bilən faylların açılması bir-birini istisna edir. Bir fayl həm yazıla bilən şəkildə açıq ola, həm də THP-lərə malik ola bilməz (çünki fayl sistemi onlardan xəbərdar deyil). khugepaged yazıla bilən şəkildə açılmış fayllar üçün fayl səhifələrini heç vaxt birləşdirməyəcək. open(O_RDWR/O_WRONLY) zamanı həmin konkret fayl üçün səhifə keşləri silinir. Bu normaldır, çünki heç nə çirkli hala gətirilə bilməzdi. Lakin kənar hal mövcuddur: collapse_file() eyni vaxtda işləyən yazıcılarla birgə mövcud ola bilməyə bilər, lakin çirkli foliolarla (əvvəlki yazıcılardan qalan) birgə mövcud ola bilər. Buna görə də aşağıdakılar baş verə bilər: open(file, O_RDWR) write(file) close(file) madvise(file_mapping, MADV_COLLAPSE, bəzi çirkli olmayan diapazon) open(file, O_RDWR) nr_thps > 0 truncate_inode_pages() /* THP-lər təmizlənir, lakin çirkli foliolar da belə təmizlənir */ Bu kənar hal baş verdikdə, çirkli foliolar tamamilə atıldığı üçün məlumat itkisi baş verir. Fayl THP-lərini birləşdirərkən səhifə keşinin tam geri yazılması (və gözlənilməsi) ilə bu problem həll edilmişdir. Bu, aktiv THP-lər olduğu müddətcə heç bir çirkli folionun müşahidə edilməməsi təminatını verir. Bunun təhlükəsizliyini tam təmin etmək üçün writeout yerinə yetirilərkən invalidate_lock saxlanmalıdır ki, do_dentry_open()'in səhifə keşinin truncate edilməsi prosesi bu write-and-wait əməliyyatını istisna etsin. Yan təsir olaraq, nr_thps sayğacının artırılması i_pages lock-undan kənara çıxarılıb. Sayğacın özü atomic_t olduğu və istehsalçı <-> istehlakçı düzgünlüyünün tam yaddaş baryeri (full memory barrier) tərəfindən təmin edildiyi üçün bu doğrudur: collapse_file()-də smp_mb() / get_write_access() -> atomic_inc_unless_negative()-də tam sıralama ilə nəzərdə tutulan yaddaş baryeri.
Necə düzəltmək olar
- Linux Linux2dfe9f5c91d0963058f8a5e46e1c2a908382cc46 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 99cb0dbd47a15d395bf3faa78dc122bc5efe3fc0 ≤ v < 2dfe9f5c91d0963058f8a5e46e1c2a908382cc46, 5.4 | 2dfe9f5c91d0963058f8a5e46e1c2a908382cc46 |
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.