🇰🇷 한글 설명
Linux 커널의 bnxt_en 드라이버에서 PCIe 오류 복구 서비스가 실행될 때 NULL 포인터를 역참조하는 취약점이 발견되었습니다. NIC가 닫힌 상태에서 PCIe 오류가 발생하면 bnapi가 해제된 상태임에도 불구하고 이를 참조하려 하여 시스템 충돌이 발생할 수 있습니다.
💡 쉬운 설명
네트워크 카드가 꺼져 있는 상태에서 하드웨어 오류가 발생하면 컴퓨터 시스템이 예상치 못한 오류로 인해 멈추거나 충돌할 수 있는 문제입니다. 이를 방지하기 위해 소프트웨어가 네트워크 카드의 상태를 먼저 확인하도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bnxt_en: Fix NULL pointer dereference
PCIe errors detected by a Root Port or Downstream Port cause error
recovery services to run on all subordinate devices regardless of
administrative state.
The .error_detected() callback, bnxt_io_error_detected(), disables
and synchronizes IRQs via bnxt_disable_int_sync(), which calls
bnxt_cp_num_to_irq_num() to map completion rings to IRQs using
bp->bnapi.
Since bp->bnapi is allocated on NIC open and freed on NIC close, PCIe
error recovery on a closed NIC can dereference a NULL pointer.
Check if bp->bnapi is NULL before disabling and synchronizing IRQs.
📍 영향받는 시스템
Linux kernel (bnxt_en 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
하드웨어 수준의 PCIe 오류를 유발하여 시스템 충돌을 일으키는 방식 (로컬/물리적 접근 필요 가능성 높음)
🛡️ 대응 방법
bnxt_en 드라이버의 NULL 포인터 체크 로직이 포함된 최신 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 패치된 최신 버전인지 벤더의 보안 권고문과 대조하십시오.