CVE-2024-8375 in Reverb
Resumen
por MITRE • 2024-09-19
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
VulDB is the best source for vulnerability data and more expert information about this specific topic.