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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-40953— KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()

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 虚拟化组件在 kvm_vcpu_on_spin 函数中存在数据竞争问题。

CVSS 7.9 · High EPSS 0.20% · P9

Possible ATT&CK Techniques 1 AI

T1203 · Exploitation for Client Execution

Affected Version Matrix 18

VendorProduct Version RangeStatus
Linux Linux 217ece6129f2d3b4fdd18d9e79be9e43d8d14a42< 11a772d5376aa6d3e2e69b5b5c585f79b60c0e17 affected
217ece6129f2d3b4fdd18d9e79be9e43d8d14a42< 4c141136a28421b78f34969b25a4fa32e06e2180 affected
217ece6129f2d3b4fdd18d9e79be9e43d8d14a42< 71fbc3af3dacb26c3aa2f30bb3ab05c44d082c84 affected
217ece6129f2d3b4fdd18d9e79be9e43d8d14a42< 82bd728a06e55f5b5f93d10ce67f4fe7e689853a affected
217ece6129f2d3b4fdd18d9e79be9e43d8d14a42< 92c77807d938145c7c3350c944ef9f39d7f6017c affected
217ece6129f2d3b4fdd18d9e79be9e43d8d14a42< a937ef951bba72f48d2402451419d725d70dba20 affected
217ece6129f2d3b4fdd18d9e79be9e43d8d14a42< 95c8dd79f3a14df96b3820b35b8399bd91b2be60 affected
217ece6129f2d3b4fdd18d9e79be9e43d8d14a42< 49f683b41f28918df3e51ddc0d928cb2e934ccdb affected
… +10 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-40953

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: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin() Use {READ,WRITE}_ONCE() to access kvm->last_boosted_vcpu to ensure the loads and stores are atomic. In the extremely unlikely scenario the compiler tears the stores, it's theoretically possible for KVM to attempt to get a vCPU using an out-of-bounds index, e.g. if the write is split into multiple 8-bit stores, and is paired with a 32-bit load on a VM with 257 vCPUs: CPU0 CPU1 last_boosted_vcpu = 0xff; (last_boosted_vcpu = 0x100) last_boosted_vcpu[15:8] = 0x01; i = (last_boosted_vcpu = 0x1ff) last_boosted_vcpu[7:0] = 0x00; vcpu = kvm->vcpu_array[0x1ff]; As detected by KCSAN: BUG: KCSAN: data-race in kvm_vcpu_on_spin [kvm] / kvm_vcpu_on_spin [kvm] write to 0xffffc90025a92344 of 4 bytes by task 4340 on cpu 16: kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4112) kvm handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? arch/x86/kvm/vmx/vmx.c:6606) kvm_intel vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890) __x64_sys_ioctl (fs/ioctl.c:890) x64_sys_call (arch/x86/entry/syscall_64.c:33) do_syscall_64 (arch/x86/entry/common.c:?) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) read to 0xffffc90025a92344 of 4 bytes by task 4342 on cpu 4: kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4069) kvm handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:? arch/x86/kvm/vmx/vmx.c:6606) kvm_intel vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm __se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890) __x64_sys_ioctl (fs/ioctl.c:890) x64_sys_call (arch/x86/entry/syscall_64.c:33) do_syscall_64 (arch/x86/entry/common.c:?) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) value changed: 0x00000012 -> 0x00000000
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/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 虚拟化组件在 kvm_vcpu_on_spin 函数中存在数据竞争问题。
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 217ece6129f2d3b4fdd18d9e79be9e43d8d14a42 ~ 11a772d5376aa6d3e2e69b5b5c585f79b60c0e17 -
Linux Linux 2.6.39 -

II. Public POCs for CVE-2024-40953

# 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-40953

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

Patches & Fixes for CVE-2024-40953 (3)

Other References for CVE-2024-40953 (3)

Same Patch Batch · Linux · 2024-07-12 · 122 CVEs total

CVE-2024-40937 9.8 CRITICAL gve: Clear napi->skb before dev_kfree_skb_any()
CVE-2024-40907 9.8 CRITICAL ionic: fix kernel panic in XDP_TX action
CVE-2024-40999 9.8 CRITICAL net: ena: Add validation for completion descriptors consistency
CVE-2024-40923 9.8 CRITICAL vmxnet3: disable rx data ring on dma allocation failure
CVE-2024-40983 9.8 CRITICAL tipc: force a dst refcount before doing decryption
CVE-2024-40910 8.8 HIGH ax25: Fix refcount imbalance on inbound connections
CVE-2024-40911 8.8 HIGH wifi: cfg80211: Lock wiphy in cfg80211_get_station
CVE-2024-40941 8.1 HIGH wifi: iwlwifi: mvm: don't read past the mfuart notifcation
CVE-2024-40918 7.8 HIGH parisc: Try to fix random segmentation faults in package builds
CVE-2024-39495 7.8 HIGH greybus: Fix use-after-free bug in gb_interface_release due to race condition.
CVE-2024-40909 7.8 HIGH bpf: Fix a potential use-after-free in bpf_link_free()
CVE-2024-40949 7.8 HIGH mm: shmem: fix getting incorrect lruvec when replacing a shmem folio
CVE-2024-40991 7.8 HIGH dmaengine: ti: k3-udma-glue: Fix of_k3_udma_glue_parse_chn_by_id()
CVE-2024-40990 7.8 HIGH RDMA/mlx5: Add check for srq max_sge attribute
CVE-2024-40989 7.8 HIGH KVM: arm64: Disassociate vcpus from redistributor region on teardown
CVE-2024-40925 7.8 HIGH block: fix request.queuelist usage in flush
CVE-2024-40984 7.8 HIGH ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine."
CVE-2024-40924 7.8 HIGH drm/i915/dpt: Make DPT object unshrinkable
CVE-2024-40970 7.8 HIGH Avoid hw_desc array overrun in dw-axi-dmac
CVE-2024-40943 7.8 HIGH ocfs2: fix races between hole punching and AIO+DIO

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

IV. Related Vulnerabilities

V. Comments for CVE-2024-40953

No comments yet


Leave a comment