Descubriendo los Secretos de GStreamer

Elena Digital López

Un reciente estudio de seguridad ha revelado un total de 29 vulnerabilidades en GStreamer, un marco multimedia de código abierto fundamental para la funcionalidad multimedia en el entorno de escritorio GNOME. El análisis se centró particularmente en los formatos MKV y MP4, identificando fallos críticos que pueden abrir múltiples vectores de ataque en sistemas que utilizan este framework, que está presente en distribuciones de Linux como Ubuntu, Fedora y openSUSE.

GStreamer proporciona capacidades esenciales como la decodificación de audio y video, la gestión de subtítulos y el streaming de medios. Es utilizado por diversas aplicaciones clave, como Nautilus y Rhythmbox, lo que lo convierte en un objetivo atractivo para la investigación de seguridad. Para llevar a cabo su estudio, el investigador utilizó un enfoque innovador generando un corpus de entrada personalizado desde cero, lo que mejoró los resultados del fuzzing en comparación con los métodos tradicionales que utilizan archivos de muestra preexistentes.

El investigador destacó que, aunque las herramientas de fuzzing guiadas por cobertura son las más eficaces para encontrar vulnerabilidades en proyectos de C/C++, la naturaleza de gran tamaño de los archivos multimedia presenta retos significativos. A menudo, los archivos multimedia pueden ser tan grandes que ralentizan el proceso de fuzzing, dado que cualquier modificación requiere una revisión exhaustiva de cada byte.

Al optar por un generador de corpus, el investigador pudo crear archivos mucho más pequeños y específicos, lo que aceleró el proceso de fuzzing y permitió una mejor cobertura de código. Este método resultó en el descubrimiento de fallos críticos, incluidos desbordamientos de búfer y vulnerabilidades de escritura fuera de límites, que han sido documentados bajo identificadores de vulnerabilidad (CVEs) como CVE-2024-47537 y CVE-2024-47538.

Las técnicas empleadas para crear este generador de corpus incluyen un análisis profundo de la estructura del formato MP4, que se organiza en cajas jerárquicas, y el uso de algoritmos para generar estructuras de árboles que representan los archivos de forma modular. Esto no solo facilitó la creación de archivos compatibles, sino que también permitió al investigador explorar caminos de ejecución raros que normalmente podrían pasar desapercibidos.

Las implicaciones de estos hallazgos subrayan la importancia de la seguridad en las bibliotecas de software abierto como GStreamer, ya que cualquier vulnerabilidad puede tener repercusiones amplias en la seguridad de las plataformas de usuario final. Por lo tanto, la colaboración entre investigadores de seguridad y equipos de desarrollo es crucial para abordar y mitigar estos problemas, como se ha evidenciado en la rápida respuesta del equipo de desarrollo de GStreamer ante los descubrimientos realizados.
vía: GitHub Security

Scroll al inicio