🇰🇷 한글 설명
Linux 커널 SCSI lpfc 드라이버에서 하드웨어 큐 초기화 전에 정리 루틴이 실행되면서 null pointer dereference가 발생하는 취약점입니다. lpfc_sli4_read_rev() 함수 실패 시 아직 할당되지 않은 메모리 영역에 접근하여 시스템 크래시를 유발할 수 있습니다. 수정은 null 포인터 확인으로 초기화 오류 상황을 안전하게 처리하는 것입니다.
💡 쉬운 설명
Linux 저장장치 드라이버 초기화 중 아직 준비되지 않은 메모리에 접근하려는 결함으로, 시스템 충돌을 유발할 수 있습니다. 공격자가 아닌 초기화 실패 시에만 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
scsi: lpfc: Check for hdwq null ptr when cleaning up lpfc_vport structure
If a call to lpfc_sli4_read_rev() from lpfc_sli4_hba_setup() fails, the
resultant cleanup routine lpfc_sli4_vport_delete_fcp_xri_aborted() may
occur before sli4_hba.hdwqs are allocated. This may result in a null
pointer dereference when attempting to take the abts_io_buf_list_lock for
the first hardware queue. Fix by adding a null ptr check on
phba->sli4_hba.hdwq and early return because this situation means there
must have been an error during port initialization.
📍 영향받는 시스템
Linux kernel의 SCSI lpfc 드라이버를 사용하는 시스템 (특정 패치 버전 이전)
⚔️ 공격 벡터
공격 벡터 없음 - 시스템 초기화 단계에서 발생하는 결함
🛡️ 대응 방법
Linux 커널 및 lpfc 드라이버를 최신 패치 버전으로 업데이트
🔧 검증 코드
커널 버전과 lpfc 드라이버 정보를 확인하여 패치된 버전인지 Linux 보안 공지와 비교
uname -a && modinfo lpfc | grep -E 'version|filename' 2>/dev/null || echo 'lpfc not loaded'