CVE

Vulnerabilidad en Reverb (CVE-2024-8375)

Severidad:
Pendiente de análisis
Type:
CWE-502 Deserialización de datos no confiables
Fecha de publicación:
19/09/2024
Última modificación:
20/09/2024

Descripción

Existe una vulnerabilidad de use after free en Reverb. Reverb admite el tipo de datos VARIANT, que se supone que representa un objeto arbitrario en C++. Cuando se descomprime un prototipo de tensor de tipo VARIANT, primero se asigna memoria para almacenar el tensor completo y se llama a un ctor en cada instancia. Luego, Reverb copia el contenido en tensor_content a la memoria preasignada mencionada anteriormente, lo que hace que los bytes en tensor_content sobrescriban los punteros de vtable de todos los objetos que se asignaron previamente. Reverb expone 2 endpoints gRPC relevantes: InsertStream y SampleStream. El atacante puede insertar este flujo en la base de datos del servidor, luego, cuando el cliente vuelva a llamar a SampleStream, descomprimirá el tensor en la RAM y, cuando se llame a cualquier método en ese objeto (incluido su destructor), el atacante obtendrá el control del contador de programa. Recomendamos actualizar el commit de Git anterior https://github.com/google-deepmind/reverb/commit/6a0dcf4c9e842b7f999912f792aaa6f6bd261a25