CVE-2025-71078

Yüksek

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: powerpc/64s/slb: SLB ön yükleme sırasında oluşan SLB multihit sorunu düzeltildi Hash MMU kullanan sistemlerde, donanım SLB tamponuna yüklenen girişleri yansıtan bir yazılım SLB ön yükleme önbelleği bulunur. Bu ön yükleme önbelleği, eski girişleri kaldırmak için genellikle her 256 bağlam değişiminden sonra periyodik tahliyeye tabi tutulur. Performansı optimize etmek için çekirdek, prev ve next mm_struct aynı olduğunda switch_mm_irqs_off() içerisindeki switch_mmu_context() işlemini atlar. Ancak hash MMU sistemlerinde bu durum, donanım SLB ile yazılım ön yükleme önbelleği arasında tutarsızlıklara yol açabilir. Bir işlem için olan SLB girişi bir CPU üzerindeki yazılım önbelleğinden tahliye edilirse ve aynı işlem daha sonra başka bir CPU üzerinde switch_mmu_context() çalıştırılmadan yürütülürse, donanım SLB bayat girişleri tutmaya devam edebilir. Çekirdek daha sonra bu girişi yeniden yüklemeye çalıştığında, bir SLB multi-hit hatası tetiklenebilir. Aşağıdaki zaman çizelgesi, bir işlem MMU bağlam değişimi olmadan CPU'lar arasında taşındığında bayat SLB girişlerinin nasıl oluşturulduğunu ve nasıl bir multi-hit hatasına neden olabileceğini göstermektedir. CPU 0 CPU 1 ----- ----- Process P exec swapper/1 load_elf_binary begin_new_exc activate_mm switch_mm_irqs_off switch_mmu_context switch_slb /* * Bu işlem donanımdaki tüm * girişleri geçersiz kılar ve * yeni donanım SLB girişlerini * ön yükleme önbelleğine göre * kurar. */ context_switch sched_migrate_task işlemi P'yi cpu-1'e taşır Process swapper/0 context switch (işlem P'ye) (İşlem P'nin mm_struct yapısını kullanır) switch_mm_irqs_off() switch_slb load_slb++ /* * load_slb burada 0 olur * ve preload_age() ile * ön yükleme önbelleğinden * bir girişi tahliye ederiz. * Donanım SLB ve ön yükleme * önbelleğini hala senkronize * tutuyoruz; çünkü zaten tüm * donanım SLB girişleri SLBIA * sırasında switch_slb içinde * tahliye edilir. Ardından sadece * şu anda ön yükleme önbelleğinde * mevcut olan girişleri (tahliye * sonrası) tekrar donanım SLB'ye * ekleriz. */ load_elf_binary devam ediyor... setup_new_exec() slb_setup_new_exec() sched_switch olayı sched_migrate_task işlemi P'yi cpu-0'a taşır swapper/0'dan İşlem P'ye context_switch switch_mm_irqs_off() /* * Hem prev hem de next mm struct aynı olduğu için * switch_mmu_context() çağrılmaz. Bu durum, * preload_new_slb_context içinde donanım SLB ve yazılım * ön yükleme önbelleğinin senkronizasyonunun bozulmasına * neden olur. Çünkü cpu-1 üzerinde hem donanımdan hem de * ön yükleme önbelleğinden tahliye edilmiş bir SLB girişi * vardı. Daha sonra preload_new_slb_context() içinde aynı * ön yükleme girişini tekrar eklemeye çalıştığımızda, bunu * önce yazılım ön yükleme önbelleğine, ardından donanım SLB'ye * ekleyeceğiz. cpu-0 üzerinde bu giriş hiçbir zaman geçersiz * kılınmadığı için, bu girişi donanım SLB'ye eklemek bir * SLB multi-hit hatasına neden olacaktır. */ load_elf_binary devam ediyor ---kesildi---

ÖnemYüksek
CVSS7.8
İstismar olasılığı—
ÜrünLinux Kernel
Yayın13 Oca 2026
İlk görülme13 Oca 2026
Zayıflık türüCWE-362Yarış durumu

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.10.248, 5.15.198, 6.1.160, 6.6.120, 6.12.64, 6.18.4 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel4.20.1 ≤ v < 5.10.248, 5.11 ≤ v < 5.15.198, 5.16 ≤ v < 6.1.160, 6.2 ≤ v < 6.6.120, 6.7 ≤ v < 6.12.64, 6.13 ≤ v < 6.18.4, 4.20, 6.195.10.248, 5.15.198, 6.1.160, 6.6.120, 6.12.64, 6.18.4

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.