Se ha identificado una vulnerabilidad crítica (CVE-2024-5171) en la biblioteca libaom, desarrollada por el consorcio Open Media (AOMedia), que proporciona una implementación de referencia del formato de codificación de video AV1. Esta vulnerabilidad conduce a un desbordamiento de enteros y a la escritura fuera de los límites del búfer al procesar valores demasiado grandes en ciertos parámetros. Una vulnerabilidad similar (CVE-2024-5197) ha sido detectada en la biblioteca libvpx, que implementa los códecs VP8 y VP9. Los problemas se han solucionado en las actualizaciones de libaom 3.9.0 y libvpx 1.14.1. Sin embargo, las distribuciones continúan teniendo vulnerabilidades sin parchear (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD).
A las vulnerabilidades en libaom se les ha asignado el nivel máximo de gravedad (10 de 10), lo que implica la posibilidad de explotación al procesar contenido especialmente diseñado en aplicaciones que utilizan esta biblioteca. Se ha asignado un nivel de gravedad de 5.9 de 10 a libvpx, lo que corresponde a condiciones limitadas de explotación. El principal riesgo de las vulnerabilidades en libaom y libvpx se debe a que estas bibliotecas se utilizan en navegadores web, reproductores multimedia y servicios de reencoding de video.
La vulnerabilidad se manifiesta en libaom al invocar las funciones aom_img_alloc(), aom_img_wrap() o aom_img_alloc_with_border() con valores grandes en los parámetros d_w, d_h y align, lo que conduce a un desbordamiento de enteros al calcular desplazamientos y tamaños de búfer. Un desbordamiento similar ocurre en las funciones vpx_img_alloc() y vpx_img_wrap(). Las funciones indicadas se utilizan en la codificación de video.
La vulnerabilidad representa un riesgo significativo debido a la potencial posibilidad de ataque a los navegadores, donde vulnerabilidades similares en el pasado podrían haberse explotado al abrir en el navegador una página especialmente diseñada que invoca funciones JavaScript para la codificación de video, o mediante manipulaciones de WebRTC. Según representantes de Google, la vulnerabilidad no afecta al motor Chromium, ya que en las funciones aom_img_alloc(), aom_img_wrap(), vpx_img_alloc() y vpx_img_wrap() solo se transmitieron valores validados de los argumentos d_w y d_h. En Firefox, para la decodificación de AV1 se utiliza la biblioteca dav1d, pero para la codificación se aplica libaom. No está claro si Firefox es susceptible al problema, ya que la información sobre cómo la vulnerabilidad afecta a productos específicos aún no ha sido publicada.
Fuente: opennet.ru
