CVE-2026-98918

Belirsiz

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: mm/damon/ops-common: damon_ptep_mkold() fonksiyonunda sayfa hizalı bir adres kullanın __damon_va_prepare_access_check() bölge içinde rastgele bir bayt adresi seçer ve bunu r->sampling_addr içinde saklar. damon_va_mkold() bu adresi bir sayfa tablosu yürütmesine iletir, o da bunu örneklem yapılacak sayfanın adresi olarak damon_ptep_mkold()'ye aktarır: damon_va_mkold(mm, r->sampling_addr) damon_va_walk_page_range(mm, addr, addr + 1) damon_mkold_pmd_entry() damon_ptep_mkold(pte, vma, addr) ptep_test_and_clear_young(vma, addr, pte) mmu_notifier_clear_young(mm, addr, addr + PAGE_SIZE) arm64 için, 6f0e1142173a ("arm64: mm: support batch clearing of the young flag for large folios") commit'inden önce, contpte yardımcısı aşağıya hizalanmış sayfa tablosu işaretçisinden tam olarak CONT_PTES girişini yürütürdü ve @addr değerini yalnızca her girişe iletmek için kullanırdı, bu nedenle hizalanmamış bir değer zararsızdı: ptep = contpte_align_down(ptep); addr = ALIGN_DOWN(addr, CONT_PTE_SIZE); for (i = 0; i < CONT_PTES; i++, ptep++, addr += PAGE_SIZE) Şimdi ise yürütülecek aralık bunun yerine @addr üzerinden türetilmektedir: end = addr + nr * PAGE_SIZE, CONT_PTE_SIZE değerine yukarı yuvarlanır. Bir contpte bloğunun son sayfasındaki bir örnekleme için, alt sayfa ofseti end değerini blok sınırının hemen dışına çıkarır, böylece yukarı yuvarlama işlemi tüm bir blok daha ileriye taşır ve yürütme işlemi örneklenen bloğun ötesindeki CONT_PTES girişlerinde PTE_AF değerini temizler. Bir sayfa tablosu sayfasındaki son blok için, bu girişler o sayfanın sonunun ötesindedir, dolayısıyla yürütme işlemi takip eden sayfaya yazar. Bu durum, arm64 üzerinde (EC2 c/m6g.4xlarge) tam 7.1/7.2 kernel selftest paketi tarafından tetiklenmiştir. Kernel bazen DAMON testi sırasında veya hemen sonrasında çökmektedir. Taşmanın ne yapacağı, sayfa tablosunu takip eden sayfanın ne olduğuna bağlıdır, bu nedenle tek bir imza yoktur. Eğer söz konusu sayfa salt okunursa, yazma işlemi örnekleme yolunun kendisinde hata verir: Unable to handle kernel write to read-only memory at virtual address ffff0003c5d2d000 FSC = 0x0f: level 3 permission fault CM = 0, WnR = 1, TnD = 0, TagAccess = 0 CPU: 10 UID: 0 PID: 3487 Comm: kdamond.2 pc : contpte_test_and_clear_young_ptes+0x70/0xc0 lr : damon_ptep_mkold+0x1e8/0x1f8 Call trace: contpte_test_and_clear_young_ptes+0x70/0xc0 (P) damon_mkold_pmd_entry+0x150/0x170 walk_pmd_range+0x110/0x2b0 walk_pud_range+0x10c/0x208 walk_pgd_range+0x134/0x258 __walk_page_range+0x98/0x1b0 walk_page_range_vma_unsafe+0x90/0x148 walk_page_range_vma+0x28/0x40 damon_va_walk_page_range+0x114/0x2b8 damon_va_prepare_access_checks+0xec/0x1a8 kdamond_fn+0x534/0x770 kthread+0x128/0x138 ret_from_fork+0x10/0x20 Aksi takdirde sayfa yazılabilirse, PTE_AF temizleme işlemi sessizce başarılı olur ve hasar ancak daha sonra, sayfaya sahip olan herhangi bir işlemde ortaya çıkar; bu nedenle geri izleme (backtrace) DAMON ile ilgisizdir ve çalıştırmalar arasında farklılık gösterir. DAMON'un contpte_test_and_clear_young_ptes() fonksiyonuna ulaşabildiği tek yer olan damon_ptep_mkold() içindeki ptep_test_and_clear_young() çağrısına sayfa hizalı bir adres iletin. Başka hiçbir yapı hizalanmış adresi görmez ve r->sampling_addr olduğu gibi bırakılır, böylece örnekleme ve bölge defter tutma semantiği değişmez.

ÖnemBelirsiz
CVSS—
İstismar olasılığı—
ÜrünLinux
Yayın23 Eki 2026
İlk görülme23 Eki 2026

Nasıl düzeltilir

Güncelleyin
  • Linux Linuxd5208de0799c506d3315b6f96d034c38e4509dbb, f166586f74dd5d9cbadaabf86ef81c8ddf6cafa7 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linux6f0e1142173a54b8a18c59fc3cbae3b31ee423d9 ≤ v < d5208de0799c506d3315b6f96d034c38e4509dbb, 6f0e1142173a54b8a18c59fc3cbae3b31ee423d9 ≤ v < f166586f74dd5d9cbadaabf86ef81c8ddf6cafa7, 7.0d5208de0799c506d3315b6f96d034c38e4509dbb, f166586f74dd5d9cbadaabf86ef81c8ddf6cafa7

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.

Intelligence 360 paketinde

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.

CVE-2026-98918 · Linux · Dark Radar