CVE-2026-99082
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: KVM: x86: per-vCPU MMIO önbelleği için aktif memslot'ları kullanın KVM, bir memslot güncellemesinin önbelleğe alınmış MMIO bilgilerini geçersiz kılması için per-vCPU MMIO önbelleğini bir memslot nesliyle etiketler. Hem doldurma hem de doğrulama yolları, vCPU SMM modunda çalışıp adres alanı 1'i kullandığında bile koşulsuz olarak adres alanı 0'ı seçen kvm_memslots() fonksiyonunu kullanır. 56f17dd3fbc4 numaralı commit ("kvm: x86: fix stale mmio cache bug"), bir memslot güncellemesinin bayat bir girdiyi geçerli bırakmaması için memslot neslini önbellek anahtarına eklemiştir. 699023e23965 numaralı commit ("KVM: x86: add SMM to the MMU role, support SMRAM address space") SMM adres alanını eklediğinde, bu yardımcı fonksiyonlar aktif memslot'ları kullanacak şekilde dönüştürülmemiştir. Sonuç olarak, SMM memslot'larının güncellenmesi, vCPU normal adres alanına döndükten sonra eski SMM adres alanından gelen bir girdinin görünüşte geçerli kalmasına neden olabilir. Bir konuk işletim sistemi daha sonra aynı GFN üzerindeki geçerli RAM erişiminin kullanıcı alanına KVM_EXIT_MMIO olarak döndürülmesine yol açabilir. Bu çıkış işleminin VMM'nin RAM adres alanı üzerinden tamamlanması, KVM'nin yazma izleme yolu üzerinden geçmeden destekleyici sayfayı yazar. Eğer sayfa iç içe geçmiş bir EPT tablosunu destekliyorsa, KVM eski içeriklerden türetilen gölge çevirileri kullanmaya devam edebilir. kvm_mmu_write_protect_fault() içerisindeki WARN_ON_ONCE(), bu geçersiz önbellek ve memslot kombinasyonunu yakalar. Girdiyi önbelleğe alırken ve doğrularken vCPU'nun aktif memslot'larını kullanın. Memslot nesilleri adres alanları arasında benzersizdir, dolayısıyla nesil aynı zamanda normal ve SMM görünümlerini birbirinden ayırır. Bu durum, halihazırda kvm_vcpu_memslots() kullanan MMIO SPTE önbelleği ile uyumludur. Yamalanmamış mevcut mainline çekirdekte, önbelleği SMM modunda dolduran ve yalnızca SMM memslot'larını güncelleyen bir regresyon testi, hedeflenen RAM yazma işlemini başarısız kılar ve kvm_mmu_write_protect_fault() uyarısını tetikler. Bu değişiklikle birlikte, aynı test herhangi bir uyarı olmadan RAM yazma işlemini tamamlar. Ayrıca x86/smm_test, set_memory_region_test ve memslot_modification_stress_test self-testleri de başarıyla geçmektedir.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| microsoft azl3_kernel_6.6.159.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.157.1-1 | Aralık belirtilmemiş | — |
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.