CVE-2021-47092

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: KVM: VMX: emulation_required durumunda her zaman vmx->fail temizlensin vCPU L2 modundayken ve emulation_required doğruyken vmx->fail değerini ayarlayan nispeten yeni bir değişiklik geri alınmıştır; çünkü bu davranış tamamen hatalıdır. vmx->fail değerinin ayarlanması ve bir VM-Exit sentezlenmesi çelişkilidir ve yanlıştır: (a) hem VM-Fail hem de VM-Exit olması imkansızdır (b) VM-Fail sırasında vmcs.EXIT_REASON değiştirilmez (c) emulation_required konuk durumuna (guest state) atıfta bulunur ve konuk durumu kontrolleri her zaman VM-Fail değil, VM-Exit'tir. Özellikle KVM için emulation_required, __vmx_handle_exit() fonksiyonundaki iç içe çıkışlardan (nested exits) önce işlenir, dolayısıyla vmx->fail değerinin ayarlanmasının anlık bir etkisi yoktur; yani KVM, handle_invalid_guest_state() fonksiyonunu çağırır ve vmx->fail yoksayılır. vmx->fail değerinin ayarlanması, VM kapatılırken nested_vmx_vmexit() fonksiyonunda nihayetinde bir WARN tetiklenmesine neden olabilir; çünkü KVM, L2 aktifken vmx->fail değerinin ayarlanmasını asla beklemez ve KVM bu hataları her zaman L1'e yansıtır. ------------[ cut here ]------------ WARNING: CPU: 0 PID: 21158 at arch/x86/kvm/vmx/nested.c:4548 nested_vmx_vmexit+0x16bd/0x17e0 arch/x86/kvm/vmx/nested.c:4547 Modules linked in: CPU: 0 PID: 21158 Comm: syz-executor.1 Not tainted 5.16.0-rc3-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:nested_vmx_vmexit+0x16bd/0x17e0 arch/x86/kvm/vmx/nested.c:4547 Code: <0f> 0b e9 2e f8 ff ff e8 57 b3 5d 00 0f 0b e9 00 f1 ff ff 89 e9 80 Call Trace: vmx_leave_nested arch/x86/kvm/vmx/nested.c:6220 [inline] nested_vmx_free_vcpu+0x83/0xc0 arch/x86/kvm/vmx/nested.c:330 vmx_free_vcpu+0x11f/0x2a0 arch/x86/kvm/vmx/vmx.c:6799 kvm_arch_vcpu_destroy+0x6b/0x240 arch/x86/kvm/x86.c:10989 kvm_vcpu_destroy+0x29/0x90 arch/x86/kvm/../../../virt/kvm/kvm_main.c:441 kvm_free_vcpus arch/x86/kvm/x86.c:11426 [inline] kvm_arch_destroy_vm+0x3ef/0x6b0 arch/x86/kvm/x86.c:11545 kvm_destroy_vm arch/x86/kvm/../../../virt/kvm/kvm_main.c:1189 [inline] kvm_put_kvm+0x751/0xe40 arch/x86/kvm/../../../virt/kvm/kvm_main.c:1220 kvm_vcpu_release+0x53/0x60 arch/x86/kvm/../../../virt/kvm/kvm_main.c:3489 __fput+0x3fc/0x870 fs/file_table.c:280 task_work_run+0x146/0x1c0 kernel/task_work.c:164 exit_task_work include/linux/task_work.h:32 [inline] do_exit+0x705/0x24f0 kernel/exit.c:832 do_group_exit+0x168/0x2d0 kernel/exit.c:929 get_signal+0x1740/0x2120 kernel/signal.c:2852 arch_do_signal_or_restart+0x9c/0x730 arch/x86/kernel/signal.c:868 handle_signal_work kernel/entry/common.c:148 [inline] exit_to_user_mode_loop kernel/entry/common.c:172 [inline] exit_to_user_mode_prepare+0x191/0x220 kernel/entry/common.c:207 __syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline] syscall_exit_to_user_mode+0x2e/0x70 kernel/entry/common.c:300 do_syscall_64+0x53/0xd0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x44/0xae

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın4 Mar 2024
İlk görülme4 Mar 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.15.12 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.15 ≤ v < 5.15.12, 5.165.15.12

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.

CVE-2021-47092 · Linux Kernel · Dark Radar