CVE-2023-52636 in Linux
Sumário
de VulDB • 05/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
libceph: aguardar apenas que mais dados estejam disponíveis no soquete
Pode ocorrer uma leitura parcial (short read) ao ler o rodapé da mensagem a partir do soquete. Posteriormente, quando o soquete estiver pronto para outra leitura, o mensageiro invoca todos os manipuladores `read_partial_*()`, incluindo `read_partial_sparse_msg_data()`. A expectativa é que `read_partial_sparse_msg_data()` retorne sem sucesso (bail), permitindo que o mensageiro invoque `read_partial()` para processar o rodapé e continue de onde parou.
No entanto, `read_partial_sparse_msg_data()` viola essa premissa e acaba chamando a máquina de estados no cliente OSD. A máquina de estados da leitura esparsa (sparse-read) assume que se trata de uma nova operação e interpreta parte do rodapé como o cabeçalho da leitura esparsa, retornando comprimentos de extents/dados incorretos (bogus), entre outros valores inválidos.
Para determinar se `read_partial_sparse_msg_data()` deve retornar sem sucesso, vamos reutilizar `cursor->total_resid`. Uma vez que esse valor atinja zero, significa que todos os extents e dados foram recebidos com sucesso na última leitura; caso contrário, a função pode interromper o processamento durante a leitura parcial de qualquer extent ou dado. Em seguida, `osd_sparse_read()` poderia continuar de onde parou.
[ idryomov: changelog ]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.