In the Linux kernel, the following vulnerability has been resolved:
openvswitch: fix lockup on tx to unregistering netdev with carrier
Commit in a fixes tag attempted to fix the issue in the following sequence of calls:
do_output -> ovs_vport_send -> dev_queue_xmit -> __dev_queue_xmit -> netdev_core_pick_tx -> skb_tx_hash
When device is unregistering, the 'dev->real_num_tx_queues' goes to zero and the 'while (unlikely(hash >= qcount))' loop inside the 'skb_tx_hash' becomes infinite, locking up the core forever.
But unfortunately, checking just the carrier status is not enough to fix the issue, because some devices may still be in unregistering state while reporting carrier status OK.
One example of such device is a net/dummy. It sets carrier ON on start, but it doesn't implement .ndo_stop to set the carrier off. And it makes sense, because dummy doesn't really have a carrier. Therefore, while this device is unregistering, it's still easy to hit the infinite loop in the skb_tx_hash() from the OVS datapath. There might be other drivers that do the same, but dummy by itself is important for the OVS ecosystem, because it is frequently used as a packet sink for tcpdump while debugging OVS deployments. And when the issue is hit, the only way to recover is to reboot.
Fix that by also checking if the device is running. The running state is handled by the net core during unregistering, so it covers unregistering case better, and we don't really need to send packets to devices that are not running anyway.
While only checking the running state might be enough, the carrier check is preserved. The running and the carrier states seem disjoined throughout the code and different drivers. And other core functions like __dev_direct_xmit() check both before attempting to transmit a packet. So, it seems safer to check both flags in OVS as well.
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_2023 | — | Upgrade kernel-modules-extra-commonUpgrade bpftool-debuginfoUpgrade kernel-toolsUpgrade perf-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade bpftoolUpgrade perfUpgrade python3-perf-debuginfoUpgrade python3-perfUpgrade kernelUpgrade kernel-debuginfoUpgrade kernel-libbpf-develUpgrade kernel-tools-develUpgrade kernel-libbpfUpgrade kernel-modules-extraUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-tools-debuginfoUpgrade kernel-livepatch-6.1.127-135.201Upgrade kernel-libbpf-staticUpgrade kernel-headersUpgrade kernel-devel | Mar 27, 2025 | Jan 31, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Feb 10, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernelUpgrade bpftoolUpgrade kernel-tools-libsUpgrade python3-perf | Jun 13, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernelUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade bpftool | Jun 11, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernelUpgrade kernel-tools-libsUpgrade python3-perf | Jul 1, 2025 | Jan 31, 2025 |
| Oracle_linux | — | Upgrade kernel-uek | Jul 17, 2025 | Jan 31, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jan 31, 2025 |
| Suse | — | Upgrade dtb-lgUpgrade gfs2-kmp-azureUpgrade kernel-rt-extraUpgrade dtb-xilinxUpgrade gfs2-kmp-rtUpgrade kernel-default-optionalUpgrade kernel-debug-vdsoUpgrade dtb-exynosUpgrade cluster-md-kmp-rtUpgrade ocfs2-kmp-defaultUpgrade kernel-azure-develUpgrade kernel-rtUpgrade kernel-rt-vdsoUpgrade dlm-kmp-64kbUpgrade kernel-rt-develUpgrade kernel-macrosUpgrade kernel-source-azureUpgrade dtb-sprdUpgrade kernel-obs-buildUpgrade kselftests-kmp-64kbUpgrade kernel-azure-optionalUpgrade kernel-devel-azureUpgrade dtb-rockchipUpgrade kernel-devel-rtUpgrade dtb-qcomUpgrade kernel-sourceUpgrade dtb-nvidiaUpgrade kernel-source-vanillaUpgrade kernel-develUpgrade dtb-apmUpgrade dtb-caviumUpgrade kernel-syms-azureUpgrade kernel-default-vdsoUpgrade kernel-default-extraUpgrade kernel-obs-qaUpgrade kernel-default-base-rebuildUpgrade kernel-azureUpgrade kernel-kvmsmallUpgrade dtb-alteraUpgrade dtb-mediatekUpgrade reiserfs-kmp-azureUpgrade dtb-amlogicUpgrade kernel-kvmsmall-develUpgrade dtb-armUpgrade kernel-defaultUpgrade kernel-default-baseUpgrade kernel-kvmsmall-vdsoUpgrade kernel-64kb-optionalUpgrade kselftests-kmp-azureUpgrade kernel-rt-livepatch-develUpgrade kernel-debug-develUpgrade kernel-64kb-develUpgrade gfs2-kmp-64kbUpgrade dtb-amdUpgrade ocfs2-kmp-64kbUpgrade kernel-zfcpdumpUpgrade kernel-debugUpgrade dlm-kmp-rtUpgrade kernel-symsUpgrade kernel-default-livepatchUpgrade dtb-renesasUpgrade dtb-broadcomUpgrade kselftests-kmp-rtUpgrade kernel-rt_debug-develUpgrade kernel-rt-optionalUpgrade kernel-64kb-extraUpgrade dtb-hisiliconUpgrade dtb-freescaleUpgrade dtb-appleUpgrade dtb-amazonUpgrade dlm-kmp-defaultUpgrade kernel-azure-vdsoUpgrade kernel-azure-extraUpgrade dlm-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade reiserfs-kmp-rtUpgrade ocfs2-kmp-azureUpgrade dtb-marvellUpgrade kernel-docsUpgrade kernel-default-livepatch-develUpgrade kernel-rt_debug-vdsoUpgrade dtb-socionextUpgrade kernel-syms-rtUpgrade cluster-md-kmp-azureUpgrade kernel-source-rtUpgrade kernel-64kbUpgrade reiserfs-kmp-defaultUpgrade gfs2-kmp-defaultUpgrade kernel-docs-htmlUpgrade cluster-md-kmp-defaultUpgrade reiserfs-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade kernel-rt_debugUpgrade kernel-default-develUpgrade dtb-allwinnerUpgrade kselftests-kmp-default | Mar 13, 2025 | Jan 31, 2025 |
| Ubuntu | — | Upgrade linux-image-oracleUpgrade linux-image-6.11.0-1013-azure-fdeUpgrade linux-image-6.11.0-1012-lowlatency-64kUpgrade linux-image-6.8.0-1013-gkeopUpgrade linux-image-lowlatency-64kUpgrade linux-image-nvidiaUpgrade linux-image-generic-lpaeUpgrade linux-image-6.11.0-1020-oemUpgrade linux-image-6.8.0-2024-raspi-realtimeUpgrade linux-image-6.8.0-1018-azure-nvidiaUpgrade linux-image-virtualUpgrade linux-image-6.11.0-24-generic-64kUpgrade linux-image-6.8.0-1030-awsUpgrade linux-image-gkeUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-realtimeUpgrade linux-image-oem-22.04cUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1029-nvidia-lowlatency-64kUpgrade linux-image-gkeopUpgrade linux-image-6.8.0-62-lowlatency-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-64-genericUpgrade linux-image-genericUpgrade linux-image-6.11.0-1008-realtimeUpgrade linux-image-6.8.1-1023-realtimeUpgrade linux-image-6.8.0-1029-nvidia-lowlatencyUpgrade linux-image-6.11.0-1013-gcpUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-62-genericUpgrade linux-image-oem-22.04Upgrade linux-image-aws-64kUpgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-1026-gkeUpgrade linux-image-6.8.0-1027-oracleUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1029-nvidiaUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1030-azure-fdeUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1031-gcpUpgrade linux-image-gcpUpgrade linux-image-6.8.0-64-generic-64kUpgrade linux-image-raspiUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-24.04aUpgrade linux-image-6.11.0-1012-lowlatencyUpgrade linux-image-6.11.0-1013-gcp-64kUpgrade linux-image-azure-fdeUpgrade linux-image-ibmUpgrade linux-image-azure-lts-24.04Upgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-6.8.0-1031-gcp-64kUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-1027-ibmUpgrade linux-image-aws-lts-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1029-oemUpgrade linux-image-6.8.0-1027-oracle-64kUpgrade linux-image-lowlatencyUpgrade linux-image-6.11.0-1011-raspiUpgrade linux-image-azure-nvidiaUpgrade linux-image-6.11.0-1013-azureUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.8.0-62-generic-64kUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1030-azureUpgrade linux-image-6.11.0-1014-oracleUpgrade linux-image-ibm-classicUpgrade linux-image-generic-64k-6.8Upgrade linux-image-6.8.0-1030-aws-64kUpgrade linux-image-6.8.0-1029-raspiUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.11.0-1012-awsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-64kUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-azureUpgrade linux-image-oem-22.04aUpgrade linux-image-6.8.0-62-lowlatencyUpgrade linux-image-oem-24.04bUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-awsUpgrade linux-image-6.11.0-1014-oracle-64kUpgrade linux-image-virtual-6.8Upgrade linux-image-generic-6.8Upgrade linux-image-6.8.0-1029-nvidia-64kUpgrade linux-image-6.11.0-24-generic | Apr 24, 2025 | Jan 31, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 13, 2025 | Jan 31, 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