CVE-2025-37911 in Linux
요약
\~에 의해 VulDB • 2026. 05. 31.
리눅스 커널에서 다음 취약점이 해결되었습니다:
bnxt_en: ethtool -w 사용 중 경계 초과 memcpy() 수정
ethtool을 사용하여 FW 코어 덤프를 검색할 때 메모리 손상이 발생할 수 있습니다:
BUG: KFENCE: __bnxt_get_coredump+0x3ef/0x670 [bnxt_en] 내 메모리 손상
0x000000008f0f30e8 [ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ] (kfence-#45 내)의 손상된 메모리:
__bnxt_get_coredump+0x3ef/0x670 [bnxt_en]
ethtool_get_dump_data+0xdc/0x1a0 __dev_ethtool+0xa1e/0x1af0 dev_ethtool+0xa8/0x170 dev_ioctl+0x1b5/0x580 sock_do_ioctl+0xab/0xf0 sock_ioctl+0x1ce/0x2e0 __x64_sys_ioctl+0x87/0xc0 do_syscall_64+0x5c/0xf0 entry_SYSCALL_64_after_hwframe+0x78/0x80
...
이 현상은 HWRM_DBG_COREDUMP_LIST FW 명령을 사용하여 bnxt_hwrm_dbg_dma_data() 내에서 코어 덤프 세그먼트 목록을 복사할 때 발생합니다. info->dest_buf 버퍼는 FW에서 반환된 코어 덤프 세그먼트 수를 기반으로 할당됩니다. 그런 다음 FW가 세그먼트 목록을 DMA로 전송하고, FW가 DMA 길이를 반환합니다. 이후 드라이버는 이 DMA로 전송된 세그먼트 목록을 info->dest_buf로 복사합니다.
일부 경우, 이 DMA 길이가 info->dest_buf의 길이를 초과하여 위의 BUG 조건을 초래할 수 있습니다. 이를 info->dest_buf의 길이를 초과하지 않도록 복사 길이를 제한함으로써 수정합니다. 추가적인 DMA 데이터에는 유용한 정보가 포함되어 있지 않습니다.
이 코드 경로는 HWRM_DBG_COREDUMP_LIST 및 HWRM_DBG_COREDUMP_RETRIEVE FW 명령에 대해 공유됩니다. 이 두 FW 명령에 대한 버퍼링 방식은 다릅니다. 로직을 단순화하기 위해 HWRM_DBG_COREDUMP_RETRIEVE에 대한 버퍼 길이를 조정하는 줄을 위로 이동시켜, 복사 길이를 제한하는 새로운 확인이 두 명령 모두에 대해 작동하도록 해야 합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.