CVE-2026-31395
Received Received - Intake
Out-of-Bounds Access in Linux bnxt_en Driver Causes Kernel Crash

Publication date: 2026-04-03

Last updated on: 2026-04-03

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: bnxt_en: fix OOB access in DBG_BUF_PRODUCER async event handler The ASYNC_EVENT_CMPL_EVENT_ID_DBG_BUF_PRODUCER handler in bnxt_async_event_process() uses a firmware-supplied 'type' field directly as an index into bp->bs_trace[] without bounds validation. The 'type' field is a 16-bit value extracted from DMA-mapped completion ring memory that the NIC writes directly to host RAM. A malicious or compromised NIC can supply any value from 0 to 65535, causing an out-of-bounds access into kernel heap memory. The bnxt_bs_trace_check_wrap() call then dereferences bs_trace->magic_byte and writes to bs_trace->last_offset and bs_trace->wrapped, leading to kernel memory corruption or a crash. Fix by adding a bounds check and defining BNXT_TRACE_MAX as DBG_LOG_BUFFER_FLUSH_REQ_TYPE_ERR_QPC_TRACE + 1 to cover all currently defined firmware trace types (0x0 through 0xc).
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-04-03
Last Modified
2026-04-03
Generated
2026-05-07
AI Q&A
2026-04-03
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
bnxt linux_kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Linux kernel's bnxt_en driver, specifically in the ASYNC_EVENT_CMPL_EVENT_ID_DBG_BUF_PRODUCER handler within the bnxt_async_event_process() function.

The handler uses a 'type' field supplied by firmware as an index into an array (bp->bs_trace[]) without checking if the index is within valid bounds.

Since the 'type' field is a 16-bit value coming from DMA-mapped memory written by the Network Interface Card (NIC) directly to host RAM, a malicious or compromised NIC can supply any value between 0 and 65535.

This can cause an out-of-bounds access into kernel heap memory, leading to memory corruption or a kernel crash.

The vulnerability is fixed by adding a bounds check on the 'type' field and defining a maximum valid trace type value.


How can this vulnerability impact me? :

This vulnerability can lead to kernel memory corruption or a system crash if exploited.

A malicious or compromised NIC can supply invalid data that causes out-of-bounds memory access, potentially destabilizing the system.

Such instability could result in denial of service or potentially allow an attacker to execute arbitrary code with kernel privileges, depending on further exploitation.


What immediate steps should I take to mitigate this vulnerability?

The vulnerability is fixed by adding a bounds check in the Linux kernel bnxt_en driver to prevent out-of-bounds access in the DBG_BUF_PRODUCER async event handler.

To mitigate this vulnerability immediately, you should update your Linux kernel to a version that includes this fix.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart