CVE-2025-39810

bnxt_en: Fix memory corruption when FW resources change during ifdown

State
Published
Severity
7.8 High
Published
Sep 16, 2025
Updated
Oct 30, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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

bnxt_en: Fix memory corruption when FW resources change during ifdown

bnxt_set_dflt_rings() assumes that it is always called before any TC has been created. So it doesn't take bp->num_tc into account and assumes that it is always 0 or 1.

In the FW resource or capability change scenario, the FW will return flags in bnxt_hwrm_if_change() that will cause the driver to reinitialize and call bnxt_cancel_reservations(). This will lead to bnxt_init_dflt_ring_mode() calling bnxt_set_dflt_rings() and bp->num_tc may be greater than 1. This will cause bp->tx_ring[] to be sized too small and cause memory corruption in bnxt_alloc_cp_rings().

Fix it by properly scaling the TX rings by bp->num_tc in the code paths mentioned above. Add 2 helper functions to determine bp->tx_nr_rings and bp->tx_nr_rings_per_tc.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • ec5d31e3c15d5233b491400133c67f78a320062c to before c0082a8947cf1a543013346d10c1857f0c57db83Affected
  • ec5d31e3c15d5233b491400133c67f78a320062c to before dc797a4bbbcac6d19e6e2508e4df685755cd94a5Affected
  • ec5d31e3c15d5233b491400133c67f78a320062c to before d00e98977ef519280b075d783653e2c492fffbb6Affected
  • ec5d31e3c15d5233b491400133c67f78a320062c to before 9ab6a9950f152e094395d2e3967f889857daa185Affected
  • ec5d31e3c15d5233b491400133c67f78a320062c to before 2747328ba2714f1a7454208dbbc1dc0631990b4aAffected
LinuxLinux
  • 5.4Affected
  • before 5.4Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.45 through 6.12.*Not affected
  • 6.16.5 through 6.16.*Not affected
  • 6.17 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.