CVE Catalog

CVE-2026-97571

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, bnxt_queue_mem_alloc() discarded the return value of bnxt_alloc_one_tpa_info_data(), which returns -ENOMEM on the first failed allocation, leaving some rxr->rx_tpa[] entries zeroed. The partially initialized ring was installed by bnxt_queue_start(). The fix checks the return value and unwinds.

Risk Assessment

An uninitialized rx_tpa[] slot could be chosen for a hardware agg_id, handing a zero DMA address to the device, risking data corruption or system crash.

Recommendation

Update the Linux kernel to a version with the bnxt_en fix. If updating is not possible, consider limiting TPA usage on Broadcom adapters.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Propagate TPA buffer allocation failures in bnxt_queue_mem_alloc() bnxt_alloc_one_tpa_info_data() returns -ENOMEM as soon as one allocation fails. This leaves the remaining rxr->rx_tpa[] entries zeroed. bnxt_queue_mem_alloc() discards that return value, so the partially initialized ring is installed by bnxt_queue_start(). Since the agg_id is picked by the hardware and bnxt_alloc_agg_idx maps it to a SW index in rxr->rx_tpa[], it is possible that an uninitialized slot can be chosen which would hand a zero DMA address to the device. Fix this by checking the return value of bnxt_alloc_one_tpa_info_data and unwinding, freeing the ring buffers.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS