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-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-5.15.176-118.170Upgrade kernel-headersUpgrade kernel-develUpgrade kernelUpgrade perf-debuginfoUpgrade kernel-tools-develUpgrade perfUpgrade kernel-livepatch-5.10.233-223.887Upgrade kernel-debuginfo-common-aarch64Upgrade python-perfUpgrade kernel-toolsUpgrade bpftool-debuginfoUpgrade bpftool | Mar 14, 2025 | Jan 11, 2025 |
| Amazon_linux_2023 | — | Upgrade kernel-debuginfoUpgrade kernel-modules-extraUpgrade kernel-develUpgrade bpftool-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-headersUpgrade kernel-libbpfUpgrade perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-libbpf-staticUpgrade kernel-libbpf-develUpgrade bpftoolUpgrade kernel-modules-extra-commonUpgrade kernel-tools-develUpgrade kernelUpgrade kernel-livepatch-6.1.124-134.200Upgrade 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 bpftoolUpgrade python3-perfUpgrade kernel-tools-libsUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade kernel-tools | Apr 11, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade kernelUpgrade python3-perfUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade bpftool | May 7, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade bpftoolUpgrade kernel-tools-libsUpgrade kernelUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel-tools | Apr 1, 2025 | Jan 11, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jan 11, 2025 |
| Ubuntu | — | Upgrade linux-image-oem-24.04aUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-oem-22.04dUpgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-5.4.0-1147-azure-fipsUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidia-tegraUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-60-lowlatency-64kUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1030-gcp-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-gkeop-5.15Upgrade linux-image-6.8.0-1025-gkeUpgrade linux-image-oem-22.04Upgrade linux-image-oracleUpgrade linux-image-gkeopUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-6.8.0-60-generic-64kUpgrade linux-image-6.8.0-1028-oemUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-oem-20.04cUpgrade linux-image-nvidiaUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-5.15.0-136-genericUpgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-fipsUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-oem-20.04bUpgrade linux-image-intelUpgrade linux-image-generic-lpaeUpgrade linux-image-gkeUpgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-oem-24.04bUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-oemUpgrade linux-image-6.8.0-1030-gcpUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1026-oracleUpgrade linux-image-aws-fipsUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-gcpUpgrade linux-image-nvidia-6.8Upgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1029-azure-fdeUpgrade linux-image-generic-64kUpgrade linux-image-genericUpgrade linux-image-lowlatency-64kUpgrade linux-image-oem-osp1Upgrade linux-image-bluefieldUpgrade linux-image-oem-22.04cUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-5.15.0-135-genericUpgrade linux-image-5.4.0-1145-gcp-fipsUpgrade linux-image-6.8.0-1028-nvidiaUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-5.4.0-1142-aws-fipsUpgrade linux-image-6.8.0-60-lowlatencyUpgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.1-1022-realtimeUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-realtimeUpgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-5.4.0-1129-kvmUpgrade linux-image-virtualUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.4.0-1088-ibmUpgrade linux-image-5.4.0-1147-azureUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1028-nvidia-lowlatency-64kUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-6.8.0-1026-ibmUpgrade linux-image-5.4.0-211-lowlatencyUpgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1086-azureUpgrade linux-image-5.4.0-1142-awsUpgrade linux-image-5.4.0-1090-ibmUpgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-1084-azureUpgrade linux-image-6.8.0-1029-azureUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.8.0-60-genericUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1026-oracle-64kUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-raspi-realtimeUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1028-nvidia-lowlatencyUpgrade linux-image-raspi-nolpaeUpgrade linux-image-kvmUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-azureUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-gke-5.15Upgrade linux-image-5.4.0-211-genericUpgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-aws-lts-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-6.8.0-1029-awsUpgrade linux-image-gcp-64kUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-6.8.0-1012-gkeopUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-aws-lts-20.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.4.0-1048-iotUpgrade linux-image-6.8.0-1016-azure-nvidiaUpgrade linux-image-5.4.0-211-generic-lpaeUpgrade linux-image-5.15.0-135-fipsUpgrade linux-image-azure-lts-20.04Upgrade linux-image-azure-fipsUpgrade linux-image-azure-lts-24.04Upgrade linux-image-5.4.0-1145-gcpUpgrade linux-image-raspiUpgrade linux-image-awsUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-5.4.0-1101-bluefieldUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-raspi2Upgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-azure-fdeUpgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-gcp-fipsUpgrade linux-image-oem-22.04aUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-5.4.0-1060-xilinx-zynqmpUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-6.8.0-1028-nvidia-64kUpgrade linux-image-oem-20.04dUpgrade linux-image-lowlatencyUpgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-5.4.0-1140-oracleUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-aws-lts-22.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