CVE-2024-27059 in Linux
요약
\~에 의해 VulDB • 2026. 06. 07.
리눅스 커널에서 다음 취약점이 해결되었습니다:
USB: usb-storage: isd200_ata_command에서의 divide-by-0 오류 방지
usb-storage의 isd200 서브드라이버는 READ 또는 WRITE 명령에 대한 CDB를 생성할 때 ATA ID 정보의 HEADS 및 SECTORS 값을 사용하여 시린더(head) 값과 헤드(sector) 값을 계산합니다. 이 계산 과정에는 나눗셈 및 모듈러 연산이 포함되며, 이러한 값 중 하나가 0일 경우 시스템 충돌을 유발할 수 있습니다. 실제 장치에서는 이런 상황이 발생하지 않지만, syzbot 퍼저(fuzzer)가 보고한 바와 같이 결함이 있거나 악의적인 에뮬레이션 환경에서는 발생할 가능성이 있습니다.
장치 ID 정보에서 ATA_ID_HEADS 또는 ATA_ID_SECTORS 값이 0인 경우 해당 장치에 바인딩을 거부함으로써 이러한 가능성을 방지합니다. 이를 위해 isd200_Initialization() 함수가 초기화 실패 시 음수 오류 코드를 반환해야 합니다. 현재 이 함수는 에러 발생 시에도 항상 0(성공)을 반환하고 있습니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.