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 python3-perfUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-6.1.127-135.201Upgrade kernelUpgrade kernel-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-libbpf-staticUpgrade kernel-modules-extraUpgrade kernel-libbpfUpgrade kernel-libbpf-develUpgrade kernel-headersUpgrade kernel-tools-develUpgrade kernel-develUpgrade kernel-modules-extra-commonUpgrade bpftoolUpgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade perf-debuginfoUpgrade kernel-toolsUpgrade bpftool-debuginfo | Mar 27, 2025 | Jan 31, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Feb 10, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade python3-perfUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade bpftoolUpgrade kernelUpgrade kernel-abi-stablelists | Jun 13, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernelUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel-abi-stablelists | Jun 11, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel | 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 kernel-default-vdsoUpgrade kernel-rtUpgrade kernel-azureUpgrade kernel-azure-develUpgrade kernel-obs-qaUpgrade kernel-rt-develUpgrade kernel-rt-vdsoUpgrade dlm-kmp-64kbUpgrade kernel-macrosUpgrade kernel-obs-buildUpgrade dtb-amlogicUpgrade kernel-devel-rtUpgrade kselftests-kmp-64kbUpgrade dtb-rockchipUpgrade dtb-armUpgrade gfs2-kmp-rtUpgrade kernel-default-optionalUpgrade reiserfs-kmp-azureUpgrade kernel-kvmsmallUpgrade dtb-lgUpgrade dtb-xilinxUpgrade gfs2-kmp-azureUpgrade kernel-source-azureUpgrade kernel-develUpgrade kernel-devel-azureUpgrade dtb-sprdUpgrade kernel-rt-extraUpgrade kernel-azure-optionalUpgrade dtb-qcomUpgrade kernel-debug-vdsoUpgrade cluster-md-kmp-rtUpgrade dtb-exynosUpgrade ocfs2-kmp-defaultUpgrade dtb-caviumUpgrade dtb-nvidiaUpgrade dtb-apmUpgrade kernel-sourceUpgrade kernel-default-base-rebuildUpgrade kernel-kvmsmall-develUpgrade kernel-default-extraUpgrade kernel-source-vanillaUpgrade kernel-syms-azureUpgrade dtb-alteraUpgrade dtb-mediatekUpgrade gfs2-kmp-defaultUpgrade kernel-rt_debug-vdsoUpgrade cluster-md-kmp-azureUpgrade kernel-debugUpgrade cluster-md-kmp-64kbUpgrade ocfs2-kmp-azureUpgrade kernel-azure-extraUpgrade cluster-md-kmp-defaultUpgrade dtb-allwinnerUpgrade kernel-rt_debugUpgrade reiserfs-kmp-defaultUpgrade reiserfs-kmp-64kbUpgrade kernel-64kbUpgrade dtb-socionextUpgrade dtb-marvellUpgrade kernel-syms-rtUpgrade kernel-docsUpgrade kernel-default-livepatch-develUpgrade dtb-amazonUpgrade dtb-hisiliconUpgrade dtb-broadcomUpgrade dlm-kmp-defaultUpgrade kselftests-kmp-rtUpgrade kernel-rt_debug-develUpgrade kernel-rt-optionalUpgrade kernel-azure-vdsoUpgrade kernel-64kb-extraUpgrade dtb-amdUpgrade gfs2-kmp-64kbUpgrade dtb-freescaleUpgrade kernel-default-baseUpgrade kernel-kvmsmall-vdsoUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-azureUpgrade kernel-default-livepatchUpgrade dtb-renesasUpgrade kernel-symsUpgrade kernel-default-develUpgrade dlm-kmp-rtUpgrade kernel-defaultUpgrade dtb-appleUpgrade kselftests-kmp-defaultUpgrade kernel-docs-htmlUpgrade ocfs2-kmp-rtUpgrade kernel-64kb-optionalUpgrade kernel-rt-livepatch-develUpgrade kernel-zfcpdumpUpgrade kernel-source-rtUpgrade kernel-debug-develUpgrade kernel-64kb-develUpgrade dlm-kmp-azureUpgrade reiserfs-kmp-rt | Mar 13, 2025 | Jan 31, 2025 |
| Ubuntu | — | Upgrade linux-image-oem-24.04aUpgrade linux-image-azure-fdeUpgrade linux-image-6.11.0-1013-azureUpgrade linux-image-6.11.0-1013-gcp-64kUpgrade linux-image-6.11.0-1012-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcpUpgrade linux-image-6.11.0-1012-awsUpgrade linux-image-ibmUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.11.0-24-genericUpgrade linux-image-6.8.0-1029-nvidia-64kUpgrade linux-image-6.11.0-1011-raspiUpgrade linux-image-raspiUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-64-generic-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-generic-6.8Upgrade linux-image-6.8.0-1031-gcp-64kUpgrade linux-image-6.11.0-1014-oracle-64kUpgrade linux-image-6.8.0-62-lowlatencyUpgrade linux-image-oem-22.04aUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-24.04bUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-awsUpgrade linux-image-oem-22.04bUpgrade linux-image-virtual-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-1030-azureUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-kvmUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-azureUpgrade linux-image-ibm-classicUpgrade linux-image-generic-64k-6.8Upgrade linux-image-6.8.0-1029-raspiUpgrade linux-image-6.11.0-1014-oracleUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1030-aws-64kUpgrade linux-image-6.8.0-1027-oracle-64kUpgrade linux-image-6.8.0-1029-oemUpgrade linux-image-6.8.0-62-generic-64kUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-aws-lts-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1027-ibmUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.11.0-1013-azure-fdeUpgrade linux-image-oem-24.04Upgrade linux-image-oem-22.04cUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-gkeopUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-64-genericUpgrade linux-image-6.11.0-1020-oemUpgrade linux-image-6.8.0-1031-gcpUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-1030-azure-fdeUpgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1027-oracleUpgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-1026-gkeUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-realtimeUpgrade linux-image-genericUpgrade linux-image-6.8.0-62-lowlatency-64kUpgrade linux-image-6.8.0-1018-azure-nvidiaUpgrade linux-image-virtualUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1029-nvidia-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-6.11.0-24-generic-64kUpgrade linux-image-gkeUpgrade linux-image-6.8.0-62-genericUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1029-nvidiaUpgrade linux-image-6.8.0-1030-awsUpgrade linux-image-6.8.0-2024-raspi-realtimeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-oem-22.04Upgrade linux-image-6.8.1-1023-realtimeUpgrade linux-image-6.8.0-1029-nvidia-lowlatencyUpgrade linux-image-6.8.0-1013-gkeopUpgrade linux-image-6.11.0-1008-realtimeUpgrade linux-image-6.11.0-1013-gcpUpgrade linux-image-6.11.0-1012-lowlatency-64kUpgrade linux-image-nvidiaUpgrade linux-image-oracle | 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