In the Linux kernel, the following vulnerability has been resolved:
Drivers: hv: util: Avoid accessing a ringbuffer not initialized yet
If the KVP (or VSS) daemon starts before the VMBus channel's ringbuffer is fully initialized, we can hit the panic below:
hv_utils: Registering HyperV Utility Driver hv_vmbus: registering driver hv_utils ... BUG: kernel NULL pointer dereference, address: 0000000000000000 CPU: 44 UID: 0 PID: 2552 Comm: hv_kvp_daemon Tainted: G E 6.11.0-rc3+ #1 RIP: 0010:hv_pkt_iter_first+0x12/0xd0 Call Trace: ... vmbus_recvpacket hv_kvp_onchannelcallback vmbus_on_event tasklet_action_common tasklet_action handle_softirqs irq_exit_rcu sysvec_hyperv_stimer0 </IRQ> <TASK> asm_sysvec_hyperv_stimer0 ... kvp_register_done hvt_op_read vfs_read ksys_read __x64_sys_read
This can happen because the KVP/VSS channel callback can be invoked even before the channel is fully opened: 1) as soon as hv_kvp_init() -> hvutil_transport_init() creates /dev/vmbus/hv_kvp, the kvp daemon can open the device file immediately and register itself to the driver by writing a message KVP_OP_REGISTER1 to the file (which is handled by kvp_on_msg() ->kvp_handle_handshake()) and reading the file for the driver's response, which is handled by hvt_op_read(), which calls hvt->on_read(), i.e. kvp_register_done().
2) the problem with kvp_register_done() is that it can cause the channel callback to be called even before the channel is fully opened, and when the channel callback is starting to run, util_probe()-> vmbus_open() may have not initialized the ringbuffer yet, so the callback can hit the panic of NULL pointer dereference.
To reproduce the panic consistently, we can add a "ssleep(10)" for KVP in __vmbus_open(), just before the first hv_ringbuffer_init(), and then we unload and reload the driver hv_utils, and run the daemon manually within the 10 seconds.
Fix the panic by reordering the steps in util_probe() so the char dev entry used by the KVP or VSS daemon is not created until after vmbus_open() has completed. This reordering prevents the race condition from happening.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade kernel-livepatch-5.10.233-223.887Upgrade python-perfUpgrade bpftool-debuginfoUpgrade perf-debuginfoUpgrade kernelUpgrade kernel-headersUpgrade kernel-develUpgrade kernel-livepatch-5.15.176-118.170Upgrade python-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-tools-develUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64 | Mar 14, 2025 | Jan 11, 2025 |
| Amazon_linux_2023 | — | Upgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade kernel-libbpfUpgrade kernel-develUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-modules-extraUpgrade kernel-debuginfoUpgrade bpftoolUpgrade perfUpgrade kernel-tools-develUpgrade kernel-libbpf-develUpgrade kernel-modules-extra-commonUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-libbpf-staticUpgrade kernel-livepatch-6.1.124-134.200Upgrade kernelUpgrade python3-perfUpgrade kernel-tools | Mar 27, 2025 | Jan 11, 2025 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jan 13, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-toolsUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade bpftool | Apr 11, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade kernelUpgrade python3-perfUpgrade kernel-abi-stablelists | May 7, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-tools-libsUpgrade bpftoolUpgrade kernel-toolsUpgrade python3-perfUpgrade kernelUpgrade kernel-abi-stablelists | Apr 1, 2025 | Jan 11, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jan 11, 2025 |
| Ubuntu | — | Upgrade linux-image-6.11.0-1012-azureUpgrade linux-image-oem-20.04dUpgrade linux-image-6.8.0-1016-azure-nvidiaUpgrade linux-image-6.8.0-1028-nvidia-lowlatencyUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-5.15.0-135-fipsUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-gke-5.15Upgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-oem-22.04aUpgrade linux-image-gcp-fipsUpgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-5.4.0-211-genericUpgrade linux-image-5.4.0-1048-iotUpgrade linux-image-raspi2Upgrade linux-image-azureUpgrade linux-image-azure-cvmUpgrade linux-image-gkeop-6.8Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.4.0-1101-bluefieldUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.4.0-1060-xilinx-zynqmpUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-kvmUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-azure-lts-20.04Upgrade linux-image-raspiUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-5.4.0-1145-gcpUpgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-azure-fdeUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-azure-fipsUpgrade linux-image-azure-lts-24.04Upgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-aws-lts-22.04Upgrade linux-image-aws-lts-20.04Upgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-6.8.0-1029-awsUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-aws-lts-24.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.8.0-1012-gkeopUpgrade linux-image-gcp-64kUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-raspi-realtimeUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-lowlatencyUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-5.4.0-1140-oracleUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-6.8.0-1028-nvidia-64kUpgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-awsUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-6.8.0-1026-oracle-64kUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-6.8.0-60-genericUpgrade linux-image-ibm-classicUpgrade linux-image-5.4.0-211-generic-lpaeUpgrade linux-image-ibmUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1025-gkeUpgrade linux-image-virtualUpgrade linux-image-bluefieldUpgrade linux-image-6.8.0-1029-azure-fdeUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-5.4.0-1145-gcp-fipsUpgrade linux-image-nvidia-6.8Upgrade linux-image-gcpUpgrade linux-image-oem-osp1Upgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-1026-ibmUpgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-5.4.0-211-lowlatencyUpgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-6.8.0-60-lowlatency-64kUpgrade linux-image-6.8.0-1028-nvidiaUpgrade linux-image-5.15.0-136-genericUpgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-6.8.0-60-generic-64kUpgrade linux-image-genericUpgrade linux-image-oem-24.04bUpgrade linux-image-6.8.1-1022-realtimeUpgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.0-1029-azureUpgrade linux-image-6.8.0-60-lowlatencyUpgrade linux-image-5.4.0-1142-awsUpgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-oem-20.04cUpgrade linux-image-6.8.0-1030-gcp-64kUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-intel-iotgUpgrade linux-image-nvidia-64kUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-gkeopUpgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oem-20.04Upgrade linux-image-realtimeUpgrade linux-image-6.8.0-1028-nvidia-lowlatency-64kUpgrade linux-image-5.4.0-1129-kvmUpgrade linux-image-5.4.0-1088-ibmUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-5.15.0-1084-azureUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-intelUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-oem-22.04Upgrade linux-image-oracleUpgrade linux-image-5.4.0-1142-aws-fipsUpgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-oracle-lts-20.04Upgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-oemUpgrade linux-image-gkeUpgrade linux-image-aws-fipsUpgrade linux-image-generic-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1030-gcpUpgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-6.8.0-1026-oracleUpgrade linux-image-oem-20.04bUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-5.4.0-1147-azureUpgrade linux-image-fipsUpgrade linux-image-oem-22.04dUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.4.0-1147-azure-fipsUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-nvidia-tegraUpgrade linux-image-oem-24.04aUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-5.4.0-1090-ibmUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-nvidiaUpgrade linux-image-5.15.0-1086-azureUpgrade linux-image-5.15.0-135-genericUpgrade linux-image-6.8.0-1028-oemUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-oem-24.04 | Mar 28, 2025 | Jan 11, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 29, 2025 | Jan 11, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub