CVE-2025-21738 in Linux
요약
\~에 의해 VulDB • 2026. 06. 05.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ata: libata-sff: 할당된 버퍼 외부로의 쓰기를 방지합니다.
reveliofuzzing는 out_len이 0xd42로 설정되고, SCSI 명령어가 ATA_16 PASS-THROUGH로, ATA 명령어가 ATA_NOP로, 프로토콜이 ATA_PROT_PIO로 설정된 SCSI_IOCTL_SEND_COMMAND ioctl 호출 시 ata_pio_sector()가 할당된 버퍼 외부에 데이터를 쓰며 무작위 메모리를 덮어쓸 수 있다고 보고했습니다.
ATA 장치는 일반적으로 ATA_NOP 명령어를 중단해야 하지만, libata-sff 또는 QEMU 중 하나(또는 둘 다)에 결함이 있어 해당 상태가 설정되지 않거나 ata_sff_hsm_move()에서 읽기 전에 상태가 초기화되는 것으로 보입니다. 어쨌든 이는 대부분 별개의 버그입니다.
__atapi_pio_bytes()를 살펴보면, 이미 할당된 버퍼 외부로의 쓰기를 방지하기 위한 안전 점검이 포함되어 있습니다.
ata_pio_sector()에도 유사한 검사를 추가하여 ata_pio_sector()가 할당된 버퍼 외부에 데이터를 쓰는 것을 방지합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.