KernelScan.io

HIGH

bnxt RSS Context Leak

CVE-2026-43260

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI5.5MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Fix RSS context delete logic We need to free the corresponding RSS context VNIC in FW everytime an RSS context is deleted in driver. Commit 667ac333dbb7 added a check to delete the VNIC in FW only when netif_running() is true to help delete RSS contexts with interface down. Having that condition will make the driver leak VNICs in FW whenever close() happens with active RSS contexts. On the subsequent open(), as part of RSS context restoration, we will end up trying to create extra VNICs for which we did not make any reservation. FW can fail this request, thereby making us lose active RSS contexts. Suppose an RSS context is deleted already and we try to process a delete request again, then the HWRM functions will check for validity of the request and they simply return if the resource is already freed. So, even for delete-when-down cases, netif_running() check is not necessary. Remove the netif_running() condition check when deleting an RSS context.

02

Engine v0.2.0

Risk summary

Systems using Broadcom NetXtreme network adapters with RSS contexts can experience firmware resource exhaustion when network interfaces are brought down and up repeatedly. This leads to loss of RSS functionality and potential network performance degradation or complete interface failure.

Affecteddrivers/net/ethernet/broadcom/bnxt/bnxt.c (bnxt_en driver)

Vulnerability analysis

The vulnerability stems from improper resource management in the bnxt_en driver's RSS context deletion logic. The original code added a netif_running() check that prevented firmware VNIC cleanup when the interface was down, causing VNICs to leak in firmware memory during interface close operations. When the interface is subsequently reopened, RSS context restoration attempts to create new VNICs without proper reservation, leading to firmware allocation failures. The fix removes the netif_running() condition, ensuring VNICs are always freed in firmware regardless of interface state, since the firmware's HWRM functions already handle duplicate deletion requests safely.

03

BranchFixed inPatch commit
6.126.12.75348a5f8d06c7
6.186.18.16079986d6db1f
6.196.19.69a9b89eea4a9
mainline7.0e123d9302d22