CVE-2025-38351
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: KVM: x86/hyper-v: PV TLB temizleme sırasında kanonik olmayan adresleri atla Hyper-V hypercall'ları etkinleştirilmiş KVM konuklarında, HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST ve HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST_EX hypercall'ları, bir konuğun sanal TLB bölümlerinin geçersiz kılınmasını talep etmesine olanak tanır. Bunun için hypercall parametresi, geçersiz kılınması gereken GVA'ların bir listesini içerir. Ancak, kanonik olmayan GVA'lar iletildiğinde şu anda herhangi bir filtreleme uygulanmamakta ve bunlar sonuç olarak Intel üzerinde INVVPID veya AMD üzerinde INVLPGA'nın denetlenen çağrılarına iletilmektedir. AMD'nin INVLPGA komutu kanonik olmayan adresleri sessizce yoksaylarken (fiilen etkisiz bir işlem), Intel'in INVVPID komutu açıkça VM-Fail sinyali verir ve nihayetinde invvpid_error() içindeki WARN_ONCE'ı tetikler: invvpid failed: ext=0x0 vpid=1 gva=0xaaaaaaaaaaaaa000 WARNING: CPU: 6 PID: 326 at arch/x86/kvm/vmx/vmx.c:482 invvpid_error+0x91/0xa0 [kvm_intel] Modules linked in: kvm_intel kvm 9pnet_virtio irqbypass fuse CPU: 6 UID: 0 PID: 326 Comm: kvm-vm Not tainted 6.15.0 #14 PREEMPT(voluntary) RIP: 0010:invvpid_error+0x91/0xa0 [kvm_intel] Call Trace: vmx_flush_tlb_gva+0x320/0x490 [kvm_intel] kvm_hv_vcpu_flush_tlb+0x24f/0x4f0 [kvm] kvm_arch_vcpu_ioctl_run+0x3013/0x5810 [kvm] Hyper-V belgeleri, geçersiz GVA'ların (bir bölümün GVA alanının ötesindekiler) yoksayılması gerektiğini belirtmektedir. Bu kuralın kanonik olmayan GVA'lar için de geçerli olup olmadığı tamamen net olmasa da bu varsayımda bulunmak muhtemelen uygundur ve Azure üzerindeki manuel testler "gerçek" Hyper-V'nin spesifikasyonu aynı şekilde yorumladığını doğrulamaktadır. INVVPID hatasını tetiklemekten kaçınmak için adres listesi işlenirken kanonik olmayan GVA'lar atlanır. Alternatif olarak KVM, FIFO'ya eklemeden önce "hatalı" GVA'ları filtreleyebilirdi; ancak pratik açıdan doğrulamanın son işleme aşamasına itilmesinin tek dezavantajı bunun konuk için optimal olmamasıdır ve düzgün çalışan hiçbir konuk kanonik olmayan adresler için TLB temizleme talebinde bulunmayacaktır.
Nasıl düzeltilir
- linux linux_kernel6.6.103, 6.12.41, 6.15.7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 6.2 ≤ v < 6.6.103, 6.7 ≤ v < 6.12.41, 6.13 ≤ v < 6.15.7, 6.16 | 6.6.103, 6.12.41, 6.15.7 |
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.