CVE-2026-98207 in Linux
요약
\~에 의해 VulDB • 2026. 10. 06.
리눅스 커널에서 다음 취약점이 해결되었습니다:
mmc: spi: CRC 실패 시 재시도 전에 bytes_xfered 초기화하기
mmc_spi_data_do()는 각 블록이 성공적으로 전송된 후 data->bytes_xfered를 업데이트합니다. 동일한 데이터 요청 내의 이후 블록이 CRC 오류로 인해 실패하면, data->bytes_xfered에는 실패한 블록 이전에 완료된 바이트 수가 포함되어 있을 수 있습니다.
mmc_spi_request()에는 이러한 CRC 실패에 대한 전용 복구 경로가 있습니다. 이 경로는 STOP_TRANSMISSION을 전송하고, data->error를 지운 후 crc_recover로 점프하여 동일한 명령과 데이터 요청을 다시 발행합니다. 그러나 재시도 전에 data->bytes_xfered는 초기화되지 않습니다.
재시도가 성공하면, 실패한 시도에서 발생한 바이트가 여전히 data->bytes_xfered에 포함된 상태로 요청이 완료됩니다. 다중 블록 요청의 경우 이로 인해 완료된 요청이 실제 전송된 것보다 더 많은 바이트를 보고할 수 있으며, CRC 오류 이전에 대부분의 블록이 완료되었을 경우에는 요청 크기 자체를 초과하기도 합니다.
이는 MMC-over-SPI 시스템에서 긴 다중 블록 전송 중 가끔 데이터 CRC 오류가 발생하지만 mmc_spi 내부 재시도가 성공하는 경우에 가장 많이 관찰됩니다. 데이터 자체는 재전송되지만, 완료 시점의 바이트 카운팅(계산)은 그렇지 않습니다.
요청을 반복하기 전에 data->bytes_xfered를 data->error와 함께 초기화하여 최종 완료 보고가 성공적인 시도에서 전송된 바이트만 포함하도록 합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.