CVE-2023-52636 in Linux
요약
\~에 의해 VulDB • 2026. 05. 29.
Linux 커널에서 다음 취약점이 해결되었습니다:
libceph: 소켓에서 더 많은 데이터가 사용 가능할 때까지 대기
소켓에서 메시지 footer를 읽는 동안 짧은 읽기(short read)가 발생할 수 있습니다. 이후 소켓이 다시 읽기 준비가 되면, 메신저는 read_partial_sparse_msg_data()를 포함한 모든 read_partial_*() 핸들러를 호출합니다. read_partial_sparse_msg_data()가 중단(bail)하여 메신저가 footer에 대해 read_partial()을 호출하고 중단했던 지점부터 계속 진행할 것으로 기대됩니다.
그러나 read_partial_sparse_msg_data()는 이를 위반하여 OSD 클라이언트의 상태 머신(state machine)을 호출하게 됩니다. sparse-read 상태 머신은 이를 새로운 연산(op)으로 가정하여 footer의 일부 조각을 sparse-read 헤더로 해석하고, 잘못된 extents 및 데이터 길이 등을 반환합니다.
read_partial_sparse_msg_data()가 중단해야 하는지 여부를 결정하기 위해 cursor->total_resid를 재사용합니다. total_resid가 0에 도달하면 마지막 읽기에서 모든 extents와 데이터가 성공적으로 수신되었음을 의미하며, 그렇지 않은 경우 extents와 데이터의 일부 읽기 중에도 중단할 수 있습니다. 그런 다음 osd_sparse_read()는 중단했던 지점부터 계속 진행할 수 있습니다.
[ idryomov: changelog ]
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.