CVE-2025-37911
Severity CVSS v4.0:
Pending analysis
Type:
CWE-125
Out-of-bounds Read
Publication date:
20/05/2025
Last modified:
17/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
bnxt_en: Fix out-of-bound memcpy() during ethtool -w<br />
<br />
When retrieving the FW coredump using ethtool, it can sometimes cause<br />
memory corruption:<br />
<br />
BUG: KFENCE: memory corruption in __bnxt_get_coredump+0x3ef/0x670 [bnxt_en]<br />
Corrupted memory at 0x000000008f0f30e8 [ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ] (in kfence-#45):<br />
__bnxt_get_coredump+0x3ef/0x670 [bnxt_en]<br />
ethtool_get_dump_data+0xdc/0x1a0<br />
__dev_ethtool+0xa1e/0x1af0<br />
dev_ethtool+0xa8/0x170<br />
dev_ioctl+0x1b5/0x580<br />
sock_do_ioctl+0xab/0xf0<br />
sock_ioctl+0x1ce/0x2e0<br />
__x64_sys_ioctl+0x87/0xc0<br />
do_syscall_64+0x5c/0xf0<br />
entry_SYSCALL_64_after_hwframe+0x78/0x80<br />
<br />
...<br />
<br />
This happens when copying the coredump segment list in<br />
bnxt_hwrm_dbg_dma_data() with the HWRM_DBG_COREDUMP_LIST FW command.<br />
The info->dest_buf buffer is allocated based on the number of coredump<br />
segments returned by the FW. The segment list is then DMA&#39;ed by<br />
the FW and the length of the DMA is returned by FW. The driver then<br />
copies this DMA&#39;ed segment list to info->dest_buf.<br />
<br />
In some cases, this DMA length may exceed the info->dest_buf length<br />
and cause the above BUG condition. Fix it by capping the copy<br />
length to not exceed the length of info->dest_buf. The extra<br />
DMA data contains no useful information.<br />
<br />
This code path is shared for the HWRM_DBG_COREDUMP_LIST and the<br />
HWRM_DBG_COREDUMP_RETRIEVE FW commands. The buffering is different<br />
for these 2 FW commands. To simplify the logic, we need to move<br />
the line to adjust the buffer length for HWRM_DBG_COREDUMP_RETRIEVE<br />
up, so that the new check to cap the copy length will work for both<br />
commands.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.19.95 (including) | 4.20 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.4.8 (including) | 5.5 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5.1 (including) | 5.15.182 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.138 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.90 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.28 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.14.6 (excluding) |
| cpe:2.3:o:linux:linux_kernel:5.5:-:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.5:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.5:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.5:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.5:rc6:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.5:rc7:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.15:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.15:rc2:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/43292b83424158fa6ec458799f3cb9c54d18c484
- https://git.kernel.org/stable/c/44807af79efd0d78fa36383dd865ddfe7992c0a6
- https://git.kernel.org/stable/c/44d81a9ebf0cad92512e0ffdf7412bfe20db66ec
- https://git.kernel.org/stable/c/4d69864915a3a052538e4ba76cd6fd77cfc64ebe
- https://git.kernel.org/stable/c/69b10dd23ab826d0c7f2d9ab311842251978d0c1
- https://git.kernel.org/stable/c/6b87bd94f34370bbf1dfa59352bed8efab5bf419
- https://lists.debian.org/debian-lts-announce/2025/08/msg00010.html



