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

bnxt_en: Handle buffer allocation failure in bnxt_rx_ring_reset()

bnxt_rx_ring_reset() frees the ring buffers and then reallocates them,
ignoring the result.

bnxt_alloc_one_rx_ring() can fail in bnxt_alloc_one_tpa_info_data(), which
returns -ENOMEM on the first failed allocation and leaves the remaining
rxr->rx_tpa[] entries zeroed.

The error isn't propagated up, so the loop in bnxt_rx_ring_reset
continues and at the end the code re-enables TPA with partially
unallocated rx_tpa array.

This means that when the agg_id from hardware is mapped to a SW index in
rxr->rx_tpa[], an uninitialized slot can be chosen which would hand a
zero DMA address to the device.

Fix this by falling back to a global reset, which is what the existing
code already does when other functions fail, but unlike the other
failure cases this particular failure has to return because TPA can't
be re-enabled since the allocation failed.
Published: 2026-09-25
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via kernel crash
Action: Apply patch
AI Analysis

Impact

The bnxt_en network driver in the Linux kernel contains a flaw in its ring reset logic. When bnxt_rx_ring_reset() frees existing ring buffers and attempts to allocate new ones, an allocation failure inside bnxt_alloc_one_tpa_info_data() is ignored and the reset loop continues. The driver then re-enables TPA offload with an incompletely initialized rx_tpa array, which results in a zero DMA address being programmed into the NIC firmware. The hardware attempts to read this address, causing a fault that crashes the kernel. The vulnerability arises from unchecked allocation failures and improper error handling.

Affected Systems

The issue exists in any Linux kernel that includes the bnxt_en driver prior to the upstream patch. Because no specific kernel version range is listed, any release before the fix commit is considered vulnerable and requires a kernel update.

Risk and Exploitability

The base CVSS score of 8.1 indicates high severity. The EPSS score is less than 1% and the vulnerability is not listed in CISA’s KEV catalog, implying no publicly known exploits at present. Based on the driver reset routine, it is inferred that triggering the reset path may require privileged local access. Once activated it can crash the kernel or disrupt network services, delivering a denial of service. The overall risk is moderate to high for systems running unpatched kernels, while the likelihood of exploitation remains low until an attacker gains local privileges or another vulnerability is leveraged to invoke the reset routine.

Generated by OpenCVE AI on October 1, 2026 at 09:20 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Install the latest Linux kernel that includes the bnxt_en driver patch adding proper error handling in bnxt_rx_ring_reset().
  • If an immediate kernel upgrade is not feasible, temporarily disable TPA offload or other NIC offloading features that rely on the bnxt_en driver until the patch can be applied.
  • As a temporary measure, reboot the system or reload the driver to force a global reset; the driver performs a safe global reset on reload, avoiding the partially initialized state.

Generated by OpenCVE AI on October 1, 2026 at 09:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DLA Debian DLA DLA-4841-1 linux security update
Debian DSA Debian DSA DSA-6528-1 linux security update
Ubuntu USN Ubuntu USN USN-8961-1 Linux kernel vulnerabilities
History

Sat, 03 Oct 2026 11:15:00 +0000


Tue, 29 Sep 2026 13:15:00 +0000


Fri, 25 Sep 2026 15:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Handle buffer allocation failure in bnxt_rx_ring_reset() bnxt_rx_ring_reset() frees the ring buffers and then reallocates them, ignoring the result. bnxt_alloc_one_rx_ring() can fail in bnxt_alloc_one_tpa_info_data(), which returns -ENOMEM on the first failed allocation and leaves the remaining rxr->rx_tpa[] entries zeroed. The error isn't propagated up, so the loop in bnxt_rx_ring_reset continues and at the end the code re-enables TPA with partially unallocated rx_tpa array. This means that when the agg_id from hardware is mapped to a SW index in rxr->rx_tpa[], an uninitialized slot can be chosen which would hand a zero DMA address to the device. Fix this by falling back to a global reset, which is what the existing code already does when other functions fail, but unlike the other failure cases this particular failure has to return because TPA can't be re-enabled since the allocation failed.
Title bnxt_en: Handle buffer allocation failure in bnxt_rx_ring_reset()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:09:35.902Z

Reserved: 2026-09-24T16:01:01.156Z

Link: CVE-2026-97573

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:08.017

Modified: 2026-10-19T10:17:26.470

Link: CVE-2026-97573

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-97573 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T09:30:05Z

Weaknesses
  • CWE-908

    Use of Uninitialized Resource