CVE-2026-98467
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: KVM: arm64: nv: iç içe geçmiş wp/unmap ve teardown yarışı sırasında oluşan null ptr deref hatası düzeltildi 7270cc9157f4 numaralı commit ("KVM: arm64: nv: Handle VNCR_EL2 invalidation from MMU notifiers"), hem kvm_nested_s2_unmap() hem de kvm_nested_s2_wp() fonksiyonlarında VNCR_EL2 geçersiz kılmayı tanıtmıştır. Ancak bu işlem gerçekleştirildiği sırada, iç içe geçmiş bir konuğun eşzamanlı aşama 2 teardown işlemi kvm->arch.mmu.pgt değerinin NULL olarak ayarlanmasına neden olabilir. Bu durum kvm_flush_shadow_all() -> kvm_arch_flush_shadow_all() -> kvm_free_stage2_pgd() akışında meydana gelir ve kvm->mmu_lock altında gerçekleştirilir. ec14c272408a numaralı commit ("KVM: arm64: nv: Unmap/flush shadow stage 2 page tables"), tüm iç içe geçmiş MMU aralığının teardown işlemini tanıtmış ve ardından resched=true ile stage2_apply_range() fonksiyonunu çağırmıştır: mmu_notifier_invalidate_range_start() -> ... -> kvm_mmu_notifier_invalidate_range_start() -> kvm_mmu_unmap_gfn_range() -> kvm_unmap_gfn_range() -> kvm_nested_s2_unmap() -> kvm_stage2_unmap_range() -> __unmap_stage2_range() -> stage2_apply_range() Bu durum, stage2_apply_range() fonksiyonunun kvm->mmu_lock kilidini bırakabileceği ve böylece kvm_arch_flush_shadow_all() ile eşzamanlı ilerleme kaydedilebileceği anlamına gelir. Eğer kvm_arch_flush_shadow_all(), stage2_apply_range()'den daha hızlı ilerler ve işlemini tamamlarsa, bu durum kesinlikle bir NULL pointer deref hatasına yol açar. kvm_free_stage2_pgd() işlemi kvm->mmu_lock altında gerçekleştirildiğinden, bu durum ya NULL olarak gözlemlenecek ya da kvm_free_stage2_pgd() ile serileştirilecektir. Sorun, geçersiz kılma işlemi yeni bir fonksiyon olan kvm_invalidate_vncr_ipa_all() içine soyutlanarak ve referans verilmeden önce pgt değerinin NULL olmadığı kontrol edilerek çözülmüştür.
Nasıl düzeltilir
- Linux Linux970de111c087488e53cadf5480b94e0f695db985, 3cefc1ab511fad6a0f708e7a4aee9f91346e9457, 4c74e233cdedd11592775fae2a6243e67ca3f891 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 7270cc9157f474dfc46750a34c9d7defc686b2eb ≤ v < 970de111c087488e53cadf5480b94e0f695db985, 7270cc9157f474dfc46750a34c9d7defc686b2eb ≤ v < 3cefc1ab511fad6a0f708e7a4aee9f91346e9457, 7270cc9157f474dfc46750a34c9d7defc686b2eb ≤ v < 4c74e233cdedd11592775fae2a6243e67ca3f891, 6.16 | 970de111c087488e53cadf5480b94e0f695db985, 3cefc1ab511fad6a0f708e7a4aee9f91346e9457, 4c74e233cdedd11592775fae2a6243e67ca3f891 |
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.