CVE-2024-44933

In the Linux kernel, the following vulnerability has been resolved:

bnxt_en : Fix memory out-of-bounds in bnxt_fill_hw_rss_tbl()

A recent commit has modified the code in __bnxt_reserve_rings() to
set the default RSS indirection table to default only when the number
of RX rings is changing.  While this works for newer firmware that
requires RX ring reservations, it causes the regression on older
firmware not requiring RX ring resrvations (BNXT_NEW_RM() returns
false).

With older firmware, RX ring reservations are not required and so
hw_resc->resv_rx_rings is not always set to the proper value.  The
comparison:

if (old_rx_rings != bp->hw_resc.resv_rx_rings)

in __bnxt_reserve_rings() may be false even when the RX rings are
changing.  This will cause __bnxt_reserve_rings() to skip setting
the default RSS indirection table to default to match the current
number of RX rings.  This may later cause bnxt_fill_hw_rss_tbl() to
use an out-of-range index.

We already have bnxt_check_rss_tbl_no_rmgr() to handle exactly this
scenario.  We just need to move it up in bnxt_need_reserve_rings()
to be called unconditionally when using older firmware.  Without the
fix, if the TX rings are changing, we'll skip the
bnxt_check_rss_tbl_no_rmgr() call and __bnxt_reserve_rings() may also
skip the bnxt_set_dflt_rss_indir_tbl() call for the reason explained
in the last paragraph.  Without setting the default RSS indirection
table to default, it causes the regression:

BUG: KASAN: slab-out-of-bounds in __bnxt_hwrm_vnic_set_rss+0xb79/0xe40
Read of size 2 at addr ffff8881c5809618 by task ethtool/31525
Call Trace:
__bnxt_hwrm_vnic_set_rss+0xb79/0xe40
 bnxt_hwrm_vnic_rss_cfg_p5+0xf7/0x460
 __bnxt_setup_vnic_p5+0x12e/0x270
 __bnxt_open_nic+0x2262/0x2f30
 bnxt_open_nic+0x5d/0xf0
 ethnl_set_channels+0x5d4/0xb30
 ethnl_default_set_doit+0x2f1/0x620
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTNIST
5.5 MEDIUM
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
LinuxCNA
---
---
CISA-ADPADP
---
---
Base Score
CVSS 3.x
EPSS Score
Percentile: 14%
VendorProductVersion
linuxlinux_kernel
6.10.4
linuxlinux_kernel
6.11:rc2
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bullseye
5.10.223-1
not-affected
bookworm
6.1.137-1
not-affected
bullseye (security)
5.10.237-1
fixed
bookworm (security)
6.1.140-1
fixed
trixie
6.12.35-1
fixed
trixie (security)
6.12.31-1
fixed
sid
6.12.37-1
fixed
Ubuntu logo
Ubuntu Releases
Ubuntu Product
Codename
linux
noble
not-affected
jammy
not-affected
focal
not-affected
bionic
not-affected
xenial
not-affected
trusty
not-affected
linux-allwinner-5.19
noble
dne
jammy
ignored
focal
dne
linux-aws
noble
not-affected
jammy
not-affected
focal
not-affected
bionic
not-affected
xenial
not-affected
trusty
not-affected
linux-aws-5.0
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-aws-5.11
noble
dne
jammy
dne
focal
ignored
linux-aws-5.13
noble
dne
jammy
dne
focal
ignored
linux-aws-5.15
noble
dne
jammy
dne
focal
not-affected
linux-aws-5.19
noble
dne
jammy
ignored
focal
dne
linux-aws-5.3
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-aws-5.4
noble
dne
jammy
dne
focal
dne
bionic
not-affected
linux-aws-5.8
noble
dne
jammy
dne
focal
ignored
linux-aws-6.2
noble
dne
jammy
ignored
focal
dne
linux-aws-6.5
noble
dne
jammy
ignored
focal
dne
linux-aws-fips
noble
dne
jammy
not-affected
focal
not-affected
bionic
not-affected
linux-aws-hwe
noble
dne
jammy
dne
focal
dne
xenial
not-affected
linux-azure
noble
not-affected
jammy
not-affected
focal
not-affected
bionic
ignored
xenial
not-affected
trusty
not-affected
linux-azure-4.15
noble
dne
jammy
dne
focal
dne
bionic
not-affected
linux-azure-5.11
noble
dne
jammy
dne
focal
ignored
linux-azure-5.13
noble
dne
jammy
dne
focal
ignored
linux-azure-5.15
noble
dne
jammy
dne
focal
not-affected
linux-azure-5.19
noble
dne
jammy
ignored
focal
dne
linux-azure-5.3
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-azure-5.4
noble
dne
jammy
dne
focal
dne
bionic
not-affected
linux-azure-5.8
noble
dne
jammy
dne
focal
ignored
linux-azure-6.2
noble
dne
jammy
ignored
focal
dne
linux-azure-6.5
noble
dne
jammy
ignored
focal
dne
linux-azure-edge
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-azure-fde
noble
dne
jammy
not-affected
focal
ignored
linux-azure-fde-5.15
noble
dne
jammy
dne
focal
not-affected
linux-azure-fde-5.19
noble
dne
jammy
ignored
focal
dne
linux-azure-fde-6.2
noble
dne
jammy
ignored
focal
dne
linux-azure-fips
noble
dne
jammy
not-affected
focal
not-affected
bionic
not-affected
linux-bluefield
noble
dne
jammy
dne
focal
not-affected
linux-fips
noble
dne
jammy
not-affected
focal
not-affected
bionic
not-affected
xenial
not-affected
linux-gcp
noble
not-affected
jammy
not-affected
focal
not-affected
bionic
ignored
xenial
not-affected
linux-gcp-4.15
noble
dne
jammy
dne
focal
dne
bionic
not-affected
linux-gcp-5.11
noble
dne
jammy
dne
focal
ignored
linux-gcp-5.13
noble
dne
jammy
dne
focal
ignored
linux-gcp-5.15
noble
dne
jammy
dne
focal
not-affected
linux-gcp-5.19
noble
dne
jammy
ignored
focal
dne
linux-gcp-5.3
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-gcp-5.4
noble
dne
jammy
dne
focal
dne
bionic
not-affected
linux-gcp-5.8
noble
dne
jammy
dne
focal
ignored
linux-gcp-6.2
noble
dne
jammy
ignored
focal
dne
linux-gcp-6.5
noble
dne
jammy
ignored
focal
dne
linux-gcp-fips
noble
dne
jammy
not-affected
focal
not-affected
bionic
not-affected
linux-gke
noble
not-affected
jammy
not-affected
focal
ignored
linux-gke-4.15
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-gke-5.15
noble
dne
jammy
dne
focal
ignored
linux-gke-5.4
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-gkeop
noble
not-affected
jammy
not-affected
focal
not-affected
linux-gkeop-5.15
noble
dne
jammy
dne
focal
not-affected
linux-gkeop-5.4
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-hwe
noble
dne
jammy
dne
focal
dne
bionic
ignored
xenial
not-affected
linux-hwe-5.11
noble
dne
jammy
dne
focal
ignored
linux-hwe-5.13
noble
dne
jammy
dne
focal
ignored
linux-hwe-5.15
noble
dne
jammy
dne
focal
not-affected
linux-hwe-5.19
noble
dne
jammy
ignored
focal
dne
linux-hwe-5.4
noble
dne
jammy
dne
focal
dne
bionic
not-affected
linux-hwe-5.8
noble
dne
jammy
dne
focal
ignored
linux-hwe-6.2
noble
dne
jammy
ignored
focal
dne
linux-hwe-6.5
noble
dne
jammy
ignored
focal
dne
linux-hwe-6.8
noble
dne
jammy
not-affected
focal
dne
linux-hwe-edge
noble
dne
jammy
dne
focal
dne
bionic
ignored
xenial
ignored
linux-ibm
noble
not-affected
jammy
not-affected
focal
not-affected
linux-ibm-5.15
noble
dne
jammy
dne
focal
not-affected
linux-ibm-5.4
noble
dne
jammy
dne
focal
dne
bionic
not-affected
linux-intel
noble
not-affected
jammy
dne
focal
dne
bionic
dne
xenial
dne
trusty
dne
linux-intel-5.13
noble
dne
jammy
dne
focal
ignored
linux-intel-iot-realtime
noble
dne
jammy
not-affected
focal
dne
bionic
dne
xenial
dne
trusty
dne
linux-intel-iotg
noble
dne
jammy
not-affected
focal
dne
linux-intel-iotg-5.15
noble
dne
jammy
dne
focal
not-affected
linux-iot
noble
dne
jammy
dne
focal
not-affected
linux-kvm
noble
dne
jammy
not-affected
focal
not-affected
bionic
not-affected
xenial
not-affected
linux-lowlatency
noble
not-affected
jammy
not-affected
focal
dne
linux-lowlatency-hwe-5.15
noble
dne
jammy
dne
focal
not-affected
linux-lowlatency-hwe-5.19
noble
dne
jammy
ignored
focal
dne
linux-lowlatency-hwe-6.2
noble
dne
jammy
ignored
focal
dne
linux-lowlatency-hwe-6.5
noble
dne
jammy
ignored
focal
dne
linux-lowlatency-hwe-6.8
noble
dne
jammy
not-affected
focal
dne
linux-lts-xenial
noble
dne
jammy
dne
focal
dne
trusty
not-affected
linux-nvidia
noble
not-affected
jammy
not-affected
focal
dne
linux-nvidia-6.2
noble
dne
jammy
ignored
focal
dne
linux-nvidia-6.5
noble
dne
jammy
not-affected
focal
dne
linux-nvidia-6.8
noble
dne
jammy
not-affected
focal
dne
linux-nvidia-lowlatency
noble
not-affected
jammy
dne
focal
dne
linux-oem
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-oem-5.10
noble
dne
jammy
dne
focal
ignored
linux-oem-5.13
noble
dne
jammy
dne
focal
ignored
linux-oem-5.14
noble
dne
jammy
dne
focal
ignored
linux-oem-5.17
noble
dne
jammy
ignored
focal
dne
linux-oem-5.6
noble
dne
jammy
dne
focal
ignored
linux-oem-6.0
noble
dne
jammy
ignored
focal
dne
linux-oem-6.1
noble
dne
jammy
ignored
focal
dne
linux-oem-6.5
noble
dne
jammy
ignored
focal
dne
linux-oem-6.8
noble
not-affected
jammy
dne
focal
dne
linux-oracle
noble
not-affected
jammy
not-affected
focal
not-affected
bionic
not-affected
xenial
not-affected
linux-oracle-5.0
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-oracle-5.11
noble
dne
jammy
dne
focal
ignored
linux-oracle-5.13
noble
dne
jammy
dne
focal
ignored
linux-oracle-5.15
noble
dne
jammy
dne
focal
not-affected
linux-oracle-5.3
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-oracle-5.4
noble
dne
jammy
dne
focal
dne
bionic
not-affected
linux-oracle-5.8
noble
dne
jammy
dne
focal
ignored
linux-oracle-6.5
noble
dne
jammy
ignored
focal
dne
linux-raspi
noble
not-affected
jammy
not-affected
focal
not-affected
linux-raspi-5.4
noble
dne
jammy
dne
focal
dne
bionic
not-affected
linux-raspi-realtime
noble
not-affected
jammy
dne
focal
dne
bionic
dne
xenial
dne
trusty
dne
linux-raspi2
noble
dne
jammy
dne
focal
ignored
linux-realtime
noble
not-affected
jammy
not-affected
focal
dne
bionic
dne
xenial
dne
trusty
dne
linux-riscv
noble
not-affected
jammy
ignored
focal
ignored
linux-riscv-5.11
noble
dne
jammy
dne
focal
ignored
linux-riscv-5.15
noble
dne
jammy
dne
focal
not-affected
linux-riscv-5.19
noble
dne
jammy
ignored
focal
dne
linux-riscv-5.8
noble
dne
jammy
dne
focal
ignored
linux-riscv-6.5
noble
dne
jammy
ignored
focal
dne
linux-riscv-6.8
noble
dne
jammy
not-affected
focal
dne
linux-starfive-5.19
noble
dne
jammy
ignored
focal
dne
linux-starfive-6.2
noble
dne
jammy
ignored
focal
dne
linux-starfive-6.5
noble
dne
jammy
ignored
focal
dne
linux-xilinx-zynqmp
noble
dne
jammy
not-affected
focal
not-affected