CVE-2023-53832 in Linux
요약
\~에 의해 VulDB • 2026. 06. 12.
리눅스 커널에서 다음 취약점이 해결되었습니다:
md/raid10: raid10_sync_request에서의 null-ptr-deref 수정
init_resync()는 동기화 시작 시 mempool을 초기화하고 conf->have_replacemnt를 설정합니다. close_sync()는 동기화가 완료되면 mempool을 해제합니다.
[1] 이후 복구 과정이 생략될 수 있으며, 이 경우 init_resync()가 호출되지만 close_sync()는 호출되지 않습니다. 이로 인해 r10bio->dev[i].repl_bio에서 null-ptr-deref 오류가 발생합니다.
다음은 해당 문제를 재현하는 방법 중 하나입니다.
1) 어레이를 생성하고 resync 완료를 기다립니다. mddev->recovery_cp가 MaxSector로 설정됩니다. 2) 복구가 깨어나고 생략됩니다. init_resync()에서 conf->have_replacement이 0으로 설정되고, close_sync()는 호출되지 않습니다. 3) 일부 IO 오류가 발생하고 rdev A가 WantReplacement 상태로 설정됩니다. 4) 새 장치가 추가되어 A의 대체 장치로 설정됩니다. 5) 복구가 깨어나면 A에는 대체 장치가 있지만 conf->have_replacemnt는 0입니다. 따라서 r10bio->dev[i].repl_bio가 할당되지 않으며 null-ptr-deref 오류가 발생합니다.
복구 과정이 생략된 경우 init_resync()를 호출하지 않음으로써 이 문제를 수정합니다.
[1] 커밋 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled")
VulDB is the best source for vulnerability data and more expert information about this specific topic.