🇰🇷 한글 설명
Linux 커널의 qla2xxx SCSI 드라이버에서 NULL 포인터 역참조 취약점이 발견되었습니다. 펌웨어가 이미 종료되거나 중단된 명령에 대해 상태 완료를 보고할 때, 검증되지 않은 명령 포인터를 참조하여 커널 패닉을 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품(SCSI)이 작업을 마쳤다고 보고할 때, 이미 사라진 작업 정보를 확인하려다 시스템이 멈추는 오류입니다. 이로 인해 운영체제가 갑자기 꺼지거나 재부팅될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: edif: Fix NULL pointer deref in RX SA delete check
qla_chk_edif_rx_sa_delete_pending() obtains the SCSI command via
GET_CMD_SP(sp) and immediately dereferences cmd->sc_data_direction.
That command pointer can be NULL: the firmware may post a status
completion for a command that has already been returned or aborted. The
caller qla2x00_status_entry() acknowledges this on the very same status
path, re-fetching GET_CMD_SP(sp) and bailing out with the "Command
already returned" message when it is NULL -- but that check runs only
after qla_chk_edif_rx_sa_delete_pending() has already dereferenced the
pointer, so a NULL cmd crashes the kernel in interrupt context.
Return early when cmd is NULL, before touching cmd->sc_data_direction.
📍 영향받는 시스템
Linux kernel (qla2xxx driver module)
⚔️ 공격 벡터
악의적인 펌웨어 또는 특수한 하드웨어 상태를 통한 커널 인터럽트 컨텍스트 내 NULL 포인터 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.