PT-2024-38980 · Reverb · Reverb

Pajarskas

·

Publicado

2024-09-19

·

Atualizado

2025-07-22

·

CVE-2024-8375

CVSS v3.1

7.8

Alta

VetorAV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas:
Versões do Reverb anteriores àquela que inclui o commit git 6a0dcf4c9e842b7f999912f792aaa6f6bd261a25
Descrição:
Existe uma vulnerabilidade do tipo “use after free” no Reverb. O Reverb suporta o tipo de dados VARIANT, que deve representar um objeto arbitrário em C++. Quando um tensor proto do tipo VARIANT é descompactado, a memória é primeiro alocada para armazenar o tensor inteiro, e um construtor é chamado para cada instância. Posteriormente, o Reverb copia o conteúdo em tensor content para a memória pré-alocada mencionada anteriormente, o que faz com que os bytes em tensor content sobrescrevam os ponteiros vtable de todos os objetos que foram alocados anteriormente. O Reverb expõe dois endpoints gRPC relevantes: “InsertStream” e “SampleStream”. O invasor pode inserir esse fluxo no banco de dados do servidor; então, quando o cliente chamar “SampleStream” na próxima vez, ele descompactará o tensor na RAM e, quando qualquer método desse objeto for chamado (incluindo seu destrutor), o invasor ganhará controle do contador de programa.
Recomendações:
Atualize para uma versão posterior ao commit git 6a0dcf4c9e842b7f999912f792aaa6f6bd261a25 para resolver o problema. Como solução temporária, considere restringir o acesso aos endpoints “InsertStream” e “SampleStream” até que a atualização seja aplicada. Evite usar a variável tensor content nos pontos de extremidade da API afetados até que o problema seja resolvido.

Correção

Use After Free

Deserialization of Untrusted Data

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2024-8375
GHSA-W69Q-W4H4-2FX8

Produtos afetados

Reverb