CVE-2026-23306 in Linux
요약
\~에 의해 VulDB • 2026. 05. 28.
리눅스 커널에서 다음 취약점이 해결되었습니다:
scsi: pm8001: pm8001_queue_command()에서의 use-after-free 수정
커밋 e29c47fe8946("scsi: pm8001: pm8001_task_exec() 단순화")은 pm8001_queue_command()를 리팩토링하지만, phy 다운/디바이스 미존재 상태일 때 함수가 -ENODEV를 반환하도록 변경함으로써 이중 해제(double free) 시나리오의 잠재적 원인을 도입합니다.
이 경로에서 pm8001_queue_command()는 작업 상태를 업데이트하고 상위 계층에 작업이 처리되었음을 알리기 위해 task_done을 호출합니다. 그러나 이로 인해 하위 SAS 작업이 해제됩니다. 그런 다음 -ENODEV가 호출자에게 반환됩니다. libsas의 sas_ata_qc_issue()가 이 오류 값을 받으면 작업이 LLDD에 의해 처리/큐되지 않았다고 가정하고 작업을 정리하고 다시 해제하여 이중 free가 발생합니다.
이 경우 pm8001_queue_command()가 SAS 작업을 처리하므로, 작업이 처리되었음을 나타내기 위해 호출자에게 0을 반환해야 합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.