CVE-2025-40038
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: KVM: SVM: Sonraki RIP geçerli değilse VM-Exit'te fastpath emülasyonunu atla SVM'nin VM-Exit işleyicisinde, sonraki RIP geçerli değilse (ör. KVM nrips=false ile çalışıyorsa) WRMSR ve HLT fastpath'lerini atla. CPU sonraki RIP'i sağlamıyorsa, SVM'nin komutu atlamak için kod çözmesi ve emüle etmesi gerekir ve kod çözmek için komut baytlarını almak konuk belleğini okumayı gerektirir. Emülatör aracılığıyla konuk belleğini okumak hata verebilir, yani uyuyabilir; bu, fastpath işleyicileri IRQ'lar devre dışıyken çalıştığı için izin verilmez. BUG: sleeping function called from invalid context at ./include/linux/uaccess.h:106 in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 32611, name: qemu preempt_count: 1, expected: 0 INFO: lockdep is turned off. irq event stamp: 30580 hardirqs last enabled at (30579): [<ffffffffc08b2527>] vcpu_run+0x1787/0x1db0 [kvm] hardirqs last disabled at (30580): [<ffffffffb4f62e32>] __schedule+0x1e2/0xed0 softirqs last enabled at (30570): [<ffffffffb4247a64>] fpu_swap_kvm_fpstate+0x44/0x210 softirqs last disabled at (30568): [<ffffffffb4247a64>] fpu_swap_kvm_fpstate+0x44/0x210 CPU: 298 UID: 0 PID: 32611 Comm: qemu Tainted: G U 6.16.0-smp--e6c618b51cfe-sleep #782 NONE Tainted: [U]=USER Hardware name: Google Astoria-Turin/astoria, BIOS 0.20241223.2-0 01/17/2025 Call Trace: <TASK> dump_stack_lvl+0x7d/0xb0 __might_resched+0x271/0x290 __might_fault+0x28/0x80 kvm_vcpu_read_guest_page+0x8d/0xc0 [kvm] kvm_fetch_guest_virt+0x92/0xc0 [kvm] __do_insn_fetch_bytes+0xf3/0x1e0 [kvm] x86_decode_insn+0xd1/0x1010 [kvm] x86_emulate_instruction+0x105/0x810 [kvm] __svm_skip_emulated_instruction+0xc4/0x140 [kvm_amd] handle_fastpath_invd+0xc4/0x1a0 [kvm] vcpu_run+0x11a1/0x1db0 [kvm] kvm_arch_vcpu_ioctl_run+0x5cc/0x730 [kvm] kvm_vcpu_ioctl+0x578/0x6a0 [kvm] __se_sys_ioctl+0x6d/0xb0 do_syscall_64+0x8a/0x2c0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x7f479d57a94b </TASK> Not: Bu, esasen 5c30e8101e8d ("KVM: SVM: Skip WRMSR fastpath on VM-Exit if next RIP isn't valid") commit'inin yeniden uygulanmasıdır, ancak farklı gerekçeyle (KVM artık komutu atlarken başka nedenlerle SRCU ediniyor).
Nasıl düzeltilir
- Linux Linuxcd3efb93677c4b0cf76348882fb429165fee33fd, f994e9c790ce97d3cf01af4d0a1b9add0c955aee, da2a3c231f7f2a5ac146d972b8c1d7d84aff6d70, 0910dd7c9ad45a2605c45fd2bf3d1bcac087687c ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | b439eb8ab578557263815ba8581d02c1b730e348 ≤ v < cd3efb93677c4b0cf76348882fb429165fee33fd, b439eb8ab578557263815ba8581d02c1b730e348 ≤ v < f994e9c790ce97d3cf01af4d0a1b9add0c955aee, b439eb8ab578557263815ba8581d02c1b730e348 ≤ v < da2a3c231f7f2a5ac146d972b8c1d7d84aff6d70, b439eb8ab578557263815ba8581d02c1b730e348 ≤ v < 0910dd7c9ad45a2605c45fd2bf3d1bcac087687c, 6.5 | cd3efb93677c4b0cf76348882fb429165fee33fd, f994e9c790ce97d3cf01af4d0a1b9add0c955aee, da2a3c231f7f2a5ac146d972b8c1d7d84aff6d70, 0910dd7c9ad45a2605c45fd2bf3d1bcac087687c |
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.