CVE-2026-89849 in Linux
요약
\~에 의해 VulDB • 2026. 09. 17.
Linux 커널에서 다음 취약점이 해결되었습니다:
scsi: qla2xxx: 상태 IOCB 고속 경로에서 비(SCSI) SRB 거부
qla2x00_status_entry()는 TYPE_SRB가 아닌 엔트리를 필터링하고, SRB_NVME_CMD, SRB_BIDI_CMD 및 SRB_TM_CMD 유형을 제외합니다. 그런 다음 명령이 SRB_SCSI_CMD라고 가정하는 SCSI 고속 경로로 진행됩니다. 해당 경로의 첫 번째 단계인 qla_chk_edif_rx_sa_delete_pending()과 후속 처리는 모두 GET_CMD_SP(sp), 즉 sp->u.scmd.cmd를 평가합니다.
srb u 공용체(union)는 다른 명령 레이아웃(bsg_job, iocb_cmd)과 SCSI 명령 포인터가 겹쳐지도록 합니다. 펌웨어가 비(SCSI) 핸들에 대해 예기치 않은 STATUS_TYPE IOCB를 전달하면, sp->u.scmd.cmd는 NULL이 아닌 가짜(garbage) 포인터로 읽힐 수 있으며, 이는 qla_chk_edif_rx_sa_delete_pending() 및 cp == NULL 테스트에서의 NULL 검사를 우회하여 잘못된(wild) 포인터 역참조를 초래합니다.
고속 경로에 진입하기 전에 유형이 SRB_SCSI_CMD가 아닌 모든 SRB를 거부하십시오. outstanding_cmds 슬롯은 변경되지 않으므로, 진정으로 비(SCSI)인 명령도 적절한 핸들러를 통해 정상적으로 완료됩니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.