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