CVE-2026-43315
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: KVM: nSVM: nested_svm_load_cr3() başarısız olduğunda kullanıcı tarafından tetiklenebilen bir WARN kaldırılıyor CR3 yüklendikten sonra CPUID değiştirilerek kullanıcı alanından kolayca tetiklenebildiği için svm_set_nested_state() içerisindeki nested_svm_load_cr3() hatasına yönelik WARN kaldırılmıştır. Örneğin, durum geri yükleme selftest testi şu şekilde değiştirildiğinde: --- tools/testing/selftests/kvm/x86/state_test.c +++ tools/testing/selftests/kvm/x86/state_test.c @@ -280,7 +280,16 @@ int main(int argc, char *argv[]) /* Restore state in a new VM. */ vcpu = vm_recreate_with_one_vcpu(vm); - vcpu_load_state(vcpu, state); + + if (stage == 4) { + state->sregs.cr3 = BIT(44); + vcpu_load_state(vcpu, state); + + vcpu_set_cpuid_property(vcpu, X86_PROPERTY_MAX_PHY_ADDR, 36); + __vcpu_nested_state_set(vcpu, &state->nested); + } else { + vcpu_load_state(vcpu, state); + } /* * Restore XSAVE state in a dummy vCPU, first without doing şunu üretir: WARNING: CPU: 30 PID: 938 at arch/x86/kvm/svm/nested.c:1877 svm_set_nested_state+0x34a/0x360 [kvm_amd] Modules linked in: kvm_amd kvm irqbypass [last unloaded: kvm] CPU: 30 UID: 1000 PID: 938 Comm: state_test Tainted: G W 6.18.0-rc7-58e10b63777d-next-vm Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:svm_set_nested_state+0x34a/0x360 [kvm_amd] Call Trace: <TASK> kvm_arch_vcpu_ioctl+0xf33/0x1700 [kvm] kvm_vcpu_ioctl+0x4e6/0x8f0 [kvm] __x64_sys_ioctl+0x8f/0xd0 do_syscall_64+0x61/0xad0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 Kullanıcı alanının CR3'e "geçersiz" durumlar yerleştirmesini önlemeye çalışmak yerine sadece WARN silinmiştir. İyi ya da kötü, KVM'nin ABI yapısı kullanıcı alanının SREGS'den sonra CPUID veya tersini ayarlamasına izin verir ve KVM konuk CPUID konusunda oldukça esnektir. Yani, CPUID ayarlanırken sanal CPU modelinin zorlanmaya çalışılması kullanıcı alanını bozabilir. WARN ifadesinin KVM için anlamlı bir koruma sağlamadığı veya kullanıcı alanı için bir fayda sunmadığı göz önüne alındığında, kullanıcı alanını bozma ihtimali çok düşük olsa bile bu ifade kaldırılmıştır. Ayrıca gereksiz bir yeni satır silinmiştir.
Nasıl düzeltilir
- linux linux_kernel5.15.202, 6.1.165, 6.6.128, 6.12.75, 6.18.16, 6.19.6 ya da sonraki bir sürüm
- git.kernel.org/stable/c/155ec243ef726f4bc49536fa0bfb565dc011ab17
- git.kernel.org/stable/c/580ea57840864d40e019bc13fd26afdc8d510a2f
- git.kernel.org/stable/c/969e5e13ff5c18603f21d1f9f64ec9194e141ac0
- git.kernel.org/stable/c/ce904c8a5bbe697eae0f7e34b07095bd7a6dee19
- git.kernel.org/stable/c/deb8f6dfd31d94b18dbeeaa8c01fbec5fc70fd2b
- git.kernel.org/stable/c/ebb2ab4f1c87d6b52776292cf7dc16aea48e95f8
- git.kernel.org/stable/c/fc3ba56385d03501eb582e4b86691ba378e556f9
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.14 ≤ v < 5.15.202, 5.16 ≤ v < 6.1.165, 6.2 ≤ v < 6.6.128, 6.7 ≤ v < 6.12.75, 6.13 ≤ v < 6.18.16, 6.19 ≤ v < 6.19.6 | 5.15.202, 6.1.165, 6.6.128, 6.12.75, 6.18.16, 6.19.6 |
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.