CVE-2026-68086
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: mm/khugepaged: birleştirme sırasında tüm kirli dosya foliolarını yaz [Bu kod upstream commit 044925f9b565 ("mm: fs: remove filemap_nr_thps*() functions and their users") tarafından kaldırıldığından upstream commit bulunmamaktadır] Mevcut haliyle khugepaged ile yazılabilir dosya açma birbirini dışlar. Bir dosya hem yazılabilir olarak açık hem de THP'lere sahip olamaz (çünkü dosya sistemi bunlardan haberdar değildir). khugepaged, yazılabilir olarak açılan dosyalar için dosya sayfalarını asla birleştirmez. open(O_RDWR/O_WRONLY) çağrısında, o dosyaya ait sayfa önbelleği düşürülür. Hiçbir şey kirletilemeyeceğinden bu sorun değildir. Ancak bir uç durum vardır: collapse_file() eşzamanlı yazıcılarla bir arada bulunamasa da kirli foliolarla (önceki yazıcılardan) bir arada bulunabilir. Bu nedenle aşağıdakiler gerçekleşebilir: open(file, O_RDWR) write(file) close(file) madvise(file_mapping, MADV_COLLAPSE, kirli olmayan bir aralık) open(file, O_RDWR) nr_thps > 0 truncate_inode_pages() /* THP'ler temizlenir, ancak kirli foliolar da temizlenir */ Bu uç durum gerçekleştiğinde, kirli foliolar tamamen atıldığından veri kaybı olur. Dosya THP'lerini birleştirirken sayfa önbelleğini tamamen geri yazarak (ve bekleyerek) bunu düzeltin. Bu, etkin THP'ler varken hiçbir kirli folionun gözlemlenmeyeceği garantisini sağlar. Bunun tamamen güvenli olduğundan emin olmak için, do_dentry_open() işlevinin sayfa önbelleği kesmesi bu yazma-ve-bekleme işlemini dışlayacak şekilde yazma işlemi sırasında invalidate_lock tutulmalıdır. Yan etki olarak, nr_thps sayacının artırılmasını i_pages kilidinin dışına taşıyın. Sayaç atomik_t olduğundan ve üretici <-> tüketici doğruluğu tam bir bellek bariyeriyle sağlandığından bu doğrudur: collapse_file() içindeki smp_mb()/get_write_access() -> atomic_inc_unless_negative() içindeki tam sıralamanın ima ettiği bellek bariyeri.
Nasıl düzeltilir
- Linux Linux2dfe9f5c91d0963058f8a5e46e1c2a908382cc46 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 99cb0dbd47a15d395bf3faa78dc122bc5efe3fc0 ≤ v < 2dfe9f5c91d0963058f8a5e46e1c2a908382cc46, 5.4 | 2dfe9f5c91d0963058f8a5e46e1c2a908382cc46 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.