🇰🇷 한글 설명
Linux 커널의 qla2xxx SCSI 드라이버에서 칩 리셋 후 명령어가 적절히 해제되지 않거나, DMA 언맵 과정에서 레이스 컨디션으로 인해 커널 패닉(BUG_ON)이 발생할 수 있는 취약점입니다. 이전 수정 사항들이 오히려 새로운 버그를 유발하여 시스템 안정성을 해치는 문제를 포함하고 있습니다.
💡 쉬운 설명
컴퓨터의 저장 장치와 통신하는 부품(SCSI)에서 오류가 발생했을 때, 이를 처리하는 과정에서 시스템이 멈추거나 충돌할 수 있는 문제입니다. 하드웨어 리셋 후 남은 찌꺼기 명령어가 제대로 정리되지 않아 발생하는 오류입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: Clear cmds after chip reset
Commit aefed3e5548f ("scsi: qla2xxx: target: Fix offline port handling
and host reset handling") caused two problems:
1. Commands sent to FW, after chip reset got stuck and never freed as FW
is not going to respond to them anymore.
2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd(). Commit 26f9ce53817a
("scsi: qla2xxx: Fix missed DMA unmap for aborted commands")
attempted to fix this, but introduced another bug under different
circumstances when two different CPUs were racing to call
qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in
dma_unmap_sg_attrs().
So revert "scsi: qla2xxx: Fix missed DMA unmap for aborted commands" and
partially revert "scsi: qla2xxx: target: Fix offline port handling and
host reset handling" at __qla2x00_abort_all_cmds.
📍 영향받는 시스템
qla2xxx 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
특정 하드웨어 상태(칩 리셋 및 오프라인 포트 상황)를 유도하여 커널 패닉을 일으키는 로컬/원격 공격 가능성
🛡️ 대응 방법
해당 취약점이 해결된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 버전인지 확인하십시오.