CVE-2026-64130

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: mm/page_alloc: init_on_free ile huge zero folio etiketlerinin başlatılması düzeltildi __GFP_ZEROTAGS semantiği şu an için biraz tuhaftır ancak bu bayrak fiilen yalnızca __GFP_ZERO ve __GFP_SKIP_KASAN ile birlikte ayarlanmaktadır. init_on_free ile çalıştırdığımızda, tahsis yolundaki sıfırlama işlemini atlamak için __free_pages_prepare() sırasında sayfaları sıfırlayacağız. Ancak, __GFP_ZEROTAG ayarlı olarak tahsis yapıldığında, post_alloc_hook() sonuç olarak sadece sayfa içeriğini temizlemeyi değil, aynı zamanda etiket belleğini temizlemeyi de atlayacaktır. Etiketlerin __GFP_ZEROTAGS aracılığıyla temizlenmemesi, daha sonra set_pte_at() üzerinden kullanıcı alanına eşlenecek çoğu sayfa için önemsizdir: set_pte_at() ve benzerleri, etiketlerin henüz başlatılmadığını (PG_mte_tagged ayarlanmamış) tespit edecek ve onları başlatacaktır. Buna karşın, özel olarak işaretlenmiş bir PMD aracılığıyla eşlenecek olan huge zero folio için bu başlatma işlemi gerçekleştirilmeyecek ve sonuçta sayfalar için hala ayarlanmış olan her türlü etiketin açığa çıkmasına neden olacaktır. Dokümanlar (Documentation/arch/arm64/memory-tagging-extension.rst), bir sayfa ilk kez kullanıcı alanına eşlendiğinde tahsis etiketlerinin 0 olarak ayarlandığını belirtmektedir. init_on_free etkinleştirildiğinde, huge zero folio için bu durum artık geçerli değildir. Bu sorun, __GFP_ZEROTAGS'ı __GFP_ZERO'dan ayırarak ve sayfa içeriğinin de temizlenmesini isteyip istemediğimizi tag_clear_highpages() fonksiyonuna ileterek düzeltilmiştir. Daha net semantikler sağlamak amacıyla tag_clear_highpages() dönüş değerinin anlamı tersine çevrilmiştir. Sayfaların serbest bırakılırken 0 olmayan bir etikete sahip olduğundan emin olduktan sonra, check_buffer_fill arm64/mte self-testini 2 MiB'lık bir alan kullanacak şekilde değiştirerek huge zero folio ile yeniden üretilmiştir (boot sırasında aslında etiketleri başlatmayacağımızı, yalnızca sayfa bayraklarında KASAN_TAG_KERNEL ayarlayacağımızı unutmayın). $ ./check_buffer_fill 1..20 ... not ok 17 Check initial tags with private mapping, sync error mode and mmap memory not ok 18 Check initial tags with private mapping, sync error mode and mmap/mprotect memory ... Bu kodun daha fazla temizliğe ihtiyacı vardır; __GFP_ZEROTAGS'ın __GFP_SKIP_KASAN'dan ayrılması gibi konularla bir sonraki aşamada ilgileneceğiz. [[email protected]: s/__GPF_ZERO/__GFP_ZERO/, David'in belirttiği üzere]

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın19 Tem 2026
İlk görülme19 Tem 2026

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.18.34, 7.0.11 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.18.1 ≤ v < 6.18.34, 6.19 ≤ v < 7.0.11, 6.18, 7.16.18.34, 7.0.11

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-64130 · Linux Kernel · Dark Radar