In the Linux kernel, the following vulnerability has been resolved:
eth: bnxt: always recalculate features after XDP clearing, fix null-deref
Recalculate features when XDP is detached.
Before: # ip li set dev eth0 xdp obj xdp_dummy.bpf.o sec xdp # ip li set dev eth0 xdp off # ethtool -k eth0 | grep gro rx-gro-hw: off [requested on]
After: # ip li set dev eth0 xdp obj xdp_dummy.bpf.o sec xdp # ip li set dev eth0 xdp off # ethtool -k eth0 | grep gro rx-gro-hw: on
The fact that HW-GRO doesn't get re-enabled automatically is just a minor annoyance. The real issue is that the features will randomly come back during another reconfiguration which just happens to invoke netdev_update_features(). The driver doesn't handle reconfiguring two things at a time very robustly.
Starting with commit 98ba1d931f61 ("bnxt_en: Fix RSS logic in __bnxt_reserve_rings()") we only reconfigure the RSS hash table if the "effective" number of Rx rings has changed. If HW-GRO is enabled "effective" number of rings is 2x what user sees. So if we are in the bad state, with HW-GRO re-enablement "pending" after XDP off, and we lower the rings by / 2 - the HW-GRO rings doing 2x and the ethtool -L doing / 2 may cancel each other out, and the:
if (old_rx_rings != bp->hw_resc.resv_rx_rings &&
condition in __bnxt_reserve_rings() will be false. The RSS map won't get updated, and we'll crash with:
BUG: kernel NULL pointer dereference, address: 0000000000000168 RIP: 0010:__bnxt_hwrm_vnic_set_rss+0x13a/0x1a0 bnxt_hwrm_vnic_rss_cfg_p5+0x47/0x180 __bnxt_setup_vnic_p5+0x58/0x110 bnxt_init_nic+0xb72/0xf50 __bnxt_open_nic+0x40d/0xab0 bnxt_open_nic+0x2b/0x60 ethtool_set_channels+0x18c/0x1d0
As we try to access a freed ring.
The issue is present since XDP support was added, really, but prior to commit 98ba1d931f61 ("bnxt_en: Fix RSS logic in __bnxt_reserve_rings()") it wasn't causing major issues.
CVSS Details
- CVSS 3.1 Base Score: 7.3
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linuxUpgrade linux-6.1 | May 15, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernelUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade bpftoolUpgrade kernel-tools-libs | Jun 13, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade kernelUpgrade bpftoolUpgrade python3-perfUpgrade kernel-toolsUpgrade kernel-tools-libs | May 7, 2025 | Jan 31, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade python3-perfUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade bpftoolUpgrade kernelUpgrade kernel-abi-stablelists | Jun 11, 2025 | Jan 31, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jan 31, 2025 |
| Suse | — | Upgrade dtb-mediatekUpgrade dtb-amdUpgrade kernel-source-vanillaUpgrade dtb-rockchipUpgrade dtb-marvellUpgrade kernel-default-manUpgrade kernel-azureUpgrade kernel-rt_debugUpgrade dlm-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade gfs2-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade kernel-docsUpgrade kernel-azure-vdsoUpgrade reiserfs-kmp-rtUpgrade dtb-socionextUpgrade dlm-kmp-azureUpgrade kernel-debug-develUpgrade kernel-debug-vdsoUpgrade dtb-armUpgrade ocfs2-kmp-azureUpgrade kernel-rt-livepatch-develUpgrade dtb-nvidiaUpgrade kernel-devel-rtUpgrade kselftests-kmp-defaultUpgrade kernel-obs-buildUpgrade kselftests-kmp-rtUpgrade kernel-rt-extraUpgrade kernel-rt_debug-vdsoUpgrade dtb-sprdUpgrade cluster-md-kmp-defaultUpgrade reiserfs-kmp-azureUpgrade dlm-kmp-defaultUpgrade dtb-allwinnerUpgrade cluster-md-kmp-64kbUpgrade kernel-rt-vdsoUpgrade kernel-defaultUpgrade dtb-hisiliconUpgrade dtb-renesasUpgrade kernel-kvmsmall-vdsoUpgrade kernel-syms-rtUpgrade dtb-appleUpgrade kernel-64kb-extraUpgrade kernel-default-baseUpgrade kernel-debugUpgrade cluster-md-kmp-azureUpgrade dtb-lgUpgrade kernel-docs-htmlUpgrade kernel-default-base-rebuildUpgrade gfs2-kmp-azureUpgrade dtb-freescaleUpgrade kernel-source-azureUpgrade kernel-default-optionalUpgrade kernel-64kb-develUpgrade kernel-azure-extraUpgrade dtb-caviumUpgrade dtb-amazonUpgrade cluster-md-kmp-rtUpgrade gfs2-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade kselftests-kmp-64kbUpgrade kernel-default-extraUpgrade kernel-default-develUpgrade kernel-syms-azureUpgrade kernel-sourceUpgrade kernel-rt_debug-develUpgrade kernel-rt-optionalUpgrade kernel-obs-qaUpgrade dtb-exynosUpgrade dtb-broadcomUpgrade dtb-amlogicUpgrade reiserfs-kmp-64kbUpgrade ocfs2-kmp-64kbUpgrade kernel-develUpgrade kernel-azure-optionalUpgrade dtb-apmUpgrade kernel-zfcpdumpUpgrade dtb-alteraUpgrade ocfs2-kmp-defaultUpgrade dtb-xilinxUpgrade kernel-source-rtUpgrade kernel-rtUpgrade kernel-kvmsmallUpgrade kernel-azure-develUpgrade kselftests-kmp-azureUpgrade kernel-symsUpgrade kernel-rt-develUpgrade kernel-default-livepatchUpgrade kernel-64kb-optionalUpgrade kernel-64kbUpgrade kernel-devel-azureUpgrade gfs2-kmp-rtUpgrade dlm-kmp-64kbUpgrade kernel-macrosUpgrade kernel-kvmsmall-develUpgrade dtb-qcomUpgrade kernel-default-vdso | Feb 12, 2025 | Jan 31, 2025 |
| Ubuntu | — | Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-1029-nvidia-lowlatency-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-gkeopUpgrade linux-image-6.11.0-1020-oemUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1012-lowlatencyUpgrade linux-image-6.11.0-1013-gcpUpgrade linux-image-oem-24.04bUpgrade linux-image-generic-lpaeUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.8.0-62-lowlatency-64kUpgrade linux-image-6.8.0-1030-azureUpgrade linux-image-6.8.0-1013-gkeopUpgrade linux-image-6.8.0-1030-azure-fdeUpgrade linux-image-nvidiaUpgrade linux-image-oem-22.04aUpgrade linux-image-oem-24.04Upgrade linux-image-generic-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.1-1023-realtimeUpgrade linux-image-6.8.0-1029-raspiUpgrade linux-image-lowlatencyUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.11.0-1012-lowlatency-64kUpgrade linux-image-ibm-classicUpgrade linux-image-6.11.0-1008-realtimeUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-62-lowlatencyUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-64-genericUpgrade linux-image-oracleUpgrade linux-image-gkeUpgrade linux-image-6.11.0-1014-oracle-64kUpgrade linux-image-6.8.0-1030-aws-64kUpgrade linux-image-6.8.0-1029-nvidiaUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-virtualUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1029-nvidia-64kUpgrade linux-image-6.8.0-62-genericUpgrade linux-image-genericUpgrade linux-image-gkeop-6.8Upgrade linux-image-ibmUpgrade linux-image-6.11.0-1013-azureUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1027-oracleUpgrade linux-image-6.8.0-1031-gcpUpgrade linux-image-azure-lts-24.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-62-generic-64kUpgrade linux-image-6.8.0-2024-raspi-realtimeUpgrade linux-image-6.11.0-1013-gcp-64kUpgrade linux-image-aws-64kUpgrade linux-image-6.11.0-24-genericUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-gcp-64kUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-1030-awsUpgrade linux-image-raspi-realtimeUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-raspiUpgrade linux-image-6.8.0-1027-ibmUpgrade linux-image-6.8.0-1031-gcp-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-oem-24.04aUpgrade linux-image-oem-22.04cUpgrade linux-image-awsUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-generic-64k-6.8Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1026-gkeUpgrade linux-image-generic-6.8Upgrade linux-image-realtimeUpgrade linux-image-kvmUpgrade linux-image-nvidia-64kUpgrade linux-image-6.11.0-1012-awsUpgrade linux-image-gcpUpgrade linux-image-azureUpgrade linux-image-6.8.0-1029-nvidia-lowlatencyUpgrade linux-image-6.11.0-1014-oracleUpgrade linux-image-virtual-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1029-oemUpgrade linux-image-6.11.0-24-generic-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-oem-22.04bUpgrade linux-image-6.11.0-1013-azure-fdeUpgrade linux-image-6.11.0-1011-raspiUpgrade linux-image-6.8.0-1027-oracle-64kUpgrade linux-image-6.8.0-1018-azure-nvidiaUpgrade linux-image-aws-lts-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-64-generic-64k | Apr 24, 2025 | Jan 31, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | 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