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