Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-46830— KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于在处理KVM_SET_VCPU_EVENTS时,未正确处理SMM模式切换。

CVSS 7.8 · High EPSS 0.24% · P15

Affected Version Matrix 17

VendorProduct Version RangeStatus
Linux Linux e302786233e6bc512986d007c96458ccf5ca21c7< 5f35099fa3d59caf10bda88b033538e90086684e affected
f7e570780efc5cec9b2ed1e0472a7da14e864fdb< fa297c33faefe51e10244e8a378837fca4963228 affected
f7e570780efc5cec9b2ed1e0472a7da14e864fdb< 939375737b5a0b1bf9b1e75129054e11bc9ca65e affected
f7e570780efc5cec9b2ed1e0472a7da14e864fdb< ecdbe8ac86fb5538ccc623a41f88ec96c7168ab9 affected
f7e570780efc5cec9b2ed1e0472a7da14e864fdb< 4bcdd831d9d01e0fb64faea50732b59b2ee88da1 affected
080dbe7e9b86a0392d8dffc00d9971792afc121f affected
b4c0d89c92e957ecccce12e66b63875d0cc7af7e affected
5.15.19< 5.15.198 affected
… +9 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-46830

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS Grab kvm->srcu when processing KVM_SET_VCPU_EVENTS, as KVM will forcibly leave nested VMX/SVM if SMM mode is being toggled, and leaving nested VMX reads guest memory. Note, kvm_vcpu_ioctl_x86_set_vcpu_events() can also be called from KVM_RUN via sync_regs(), which already holds SRCU. I.e. trying to precisely use kvm_vcpu_srcu_read_lock() around the problematic SMM code would cause problems. Acquiring SRCU isn't all that expensive, so for simplicity, grab it unconditionally for KVM_SET_VCPU_EVENTS. ============================= WARNING: suspicious RCU usage 6.10.0-rc7-332d2c1d713e-next-vm #552 Not tainted ----------------------------- include/linux/kvm_host.h:1027 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 1 lock held by repro/1071: #0: ffff88811e424430 (&vcpu->mutex){+.+.}-{3:3}, at: kvm_vcpu_ioctl+0x7d/0x970 [kvm] stack backtrace: CPU: 15 PID: 1071 Comm: repro Not tainted 6.10.0-rc7-332d2c1d713e-next-vm #552 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 Call Trace: <TASK> dump_stack_lvl+0x7f/0x90 lockdep_rcu_suspicious+0x13f/0x1a0 kvm_vcpu_gfn_to_memslot+0x168/0x190 [kvm] kvm_vcpu_read_guest+0x3e/0x90 [kvm] nested_vmx_load_msr+0x6b/0x1d0 [kvm_intel] load_vmcs12_host_state+0x432/0xb40 [kvm_intel] vmx_leave_nested+0x30/0x40 [kvm_intel] kvm_vcpu_ioctl_x86_set_vcpu_events+0x15d/0x2b0 [kvm] kvm_arch_vcpu_ioctl+0x1107/0x1750 [kvm] ? mark_held_locks+0x49/0x70 ? kvm_vcpu_ioctl+0x7d/0x970 [kvm] ? kvm_vcpu_ioctl+0x497/0x970 [kvm] kvm_vcpu_ioctl+0x497/0x970 [kvm] ? lock_acquire+0xba/0x2d0 ? find_held_lock+0x2b/0x80 ? do_user_addr_fault+0x40c/0x6f0 ? lock_release+0xb7/0x270 __x64_sys_ioctl+0x82/0xb0 do_syscall_64+0x6c/0x170 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x7ff11eb1b539 </TASK>
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于在处理KVM_SET_VCPU_EVENTS时,未正确处理SMM模式切换。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux e302786233e6bc512986d007c96458ccf5ca21c7 ~ 5f35099fa3d59caf10bda88b033538e90086684e -
Linux Linux 5.17 -

II. Public POCs for CVE-2024-46830

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-46830

请登录查看更多情报信息。

Other References for CVE-2024-46830 (4)

Same Patch Batch · Linux · 2024-09-27 · 66 CVEs total

CVE-2024-46865 9.8 CRITICAL fou: fix initialization of grc
CVE-2024-46831 8.4 HIGH net: microchip: vcap: Fix use-after-free error in kunit test
CVE-2024-46823 8.4 HIGH kunit/overflow: Fix UB in overflow_allocation_test
CVE-2024-46858 8.1 HIGH mptcp: pm: Fix uaf in __timer_delete_sync
CVE-2024-46862 8.0 HIGH ASoC: Intel: soc-acpi-intel-mtl-match: add missing empty item
CVE-2024-46845 7.8 HIGH tracing/timerlat: Only clear timer if a kthread exists
CVE-2024-46813 7.8 HIGH drm/amd/display: Check link_index before accessing dc->links[]
CVE-2024-46866 7.8 HIGH drm/xe/client: add missing bo locking in show_meminfo()
CVE-2024-46812 7.8 HIGH drm/amd/display: Skip inactive planes within ModeSupportAndSystemConfiguration
CVE-2024-46816 7.8 HIGH drm/amd/display: Stop amdgpu_dm initialize when link nums greater than max_links
CVE-2024-46818 7.8 HIGH drm/amd/display: Check gpio_id before used as array index
CVE-2024-46859 7.8 HIGH platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses
CVE-2024-46852 7.8 HIGH dma-buf: heaps: Fix off-by-one in CMA heap fault handler
CVE-2024-46850 7.8 HIGH drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_destruct()
CVE-2024-46834 7.8 HIGH ethtool: fail closed if we can't get max channel used in indirection tables
CVE-2024-46847 7.8 HIGH mm: vmalloc: ensure vmap_block is initialised before adding to queue
CVE-2024-46842 7.8 HIGH scsi: lpfc: Handle mailbox timeouts in lpfc_get_sfp_info
CVE-2024-46803 7.8 HIGH drm/amdkfd: Check debug trap enable before write dbg_ev_file
CVE-2024-46855 7.5 HIGH netfilter: nft_socket: fix sk refcount leaks
CVE-2024-46817 7.4 HIGH drm/amd/display: Stop amdgpu_dm initialize when stream nums greater than 6

Showing top 20 of 66 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2024-46830

No comments yet


Leave a comment