🇰🇷 한글 설명
Linux 커널의 SCSI UFS 코어에서 명령이 완료되기 전에 ufshcd_queuecommand()가 연속으로 두 번 호출될 수 있는 취약점이 발견되었습니다. 이로 인해 명령 타임아웃 발생 시 커널 경고 및 시스템 불안정을 초래할 수 있는 문제가 있었습니다.
💡 쉬운 설명
컴퓨터가 저장 장치에 명령을 내릴 때, 이전 명령이 끝나기도 전에 중복된 명령이 전달되어 시스템에 혼란을 주는 문제입니다. 이로 인해 시스템이 멈추거나 오류 메시지가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
scsi: ufs: core: Fix handling of lrbp->cmd
ufshcd_queuecommand() may be called two times in a row for a SCSI command
before it is completed. Hence make the following changes:
- In the functions that submit a command, do not check the old value of
lrbp->cmd nor clear lrbp->cmd in error paths.
- In ufshcd_release_scsi_cmd(), do not clear lrbp->cmd.
See also scsi_send_eh_cmnd().
This commit prevents that the following appears if a command times out:
WARNING: at drivers/ufs/core/ufshcd.c:2965 ufshcd_queuecommand+0x6f8/0x9a8
Call trace:
ufshcd_queuecommand+0x6f8/0x9a8
scsi_send_eh_cmnd+0x2c0/0x960
scsi_eh_test_devices+0x100/0x314
scsi_eh_ready_devs+0xd90/0x114c
scsi_error_handler+0x2b4/0xb70
kthread+0x16c/0x1e0
📍 영향받는 시스템
Linux Kernel (UFS 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
특정 SCSI 명령의 타임아웃을 유도하여 커널의 명령 처리 로직을 오작동하게 만드는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.