Has descargado una película para la noche y tu servidor doméstico ya está ejecutando comandos ajenos: cómo funciona la vulnerabilidad PixelSmash en FFmpeg

Has descargado una película para la noche y tu servidor doméstico ya está ejecutando comandos ajenos: cómo funciona la vulnerabilidad PixelSmash en FFmpeg

Un fallo en un decodificador demuestra lo peligroso que puede ser confiar en archivos de terceros.

image

Un archivo de vídeo dañado a veces es peligroso incluso antes de ejecutarlo, y la nueva vulnerabilidad PixelSmash en FFmpeg ha mostrado claramente cómo el procesamiento habitual de un clip puede convertirse en la caída de un servidor o en la ejecución de código ajeno.

El problema recibió el identificador CVE-2026-8461 y una puntuación de 8,8 en la escala CVSS 3.1 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H). La vulnerabilidad se encontró en el decodificador MagicYUV, que forma parte de libavcodec, la biblioteca principal de FFmpeg para la codificación y decodificación de vídeo. Los archivos maliciosos son susceptibles de ataque en los formatos AVI, MKV y MOV si la aplicación usa FFmpeg con el decodificador MagicYUV activado.

PixelSmash está relacionada con un error en el procesamiento de ciertas partes del fotograma de vídeo. El decodificador y el sistema de asignación de memoria calculan de forma diferente la altura de los datos de color, lo que puede provocar que el programa escriba datos fuera del área de memoria asignada.

Lo más preocupante es que el ataque no solo se activa al abrir directamente el archivo, sino también, por ejemplo, al crear una miniatura, al escanear una biblioteca multimedia o al subir automáticamente el archivo a un servicio.

Los especialistas de JFrog mostraron un ataque de prueba contra Jellyfin 10.11.9 y Nextcloud con la vista previa de vídeos activada. En la demostración, un archivo AVI malicioso llegaba a la biblioteca de Jellyfin, el servidor ejecutaba automáticamente ffprobe para extraer metadatos, tras lo cual el error permitía ejecutar un comando en nombre del usuario de servicio de Jellyfin. Ese escenario requiere que ASLR esté desactivado, la protección que dificulta predecir la ubicación de los datos en memoria. La propia CVE-2026-8461 no evade ASLR.

Incluso sin ejecutar código, la vulnerabilidad puede causar una denegación de servicio, es decir, la caída o el bloqueo de la aplicación vulnerable. Entre los escenarios afectados, JFrog citó a Kodi, OBS Studio, PhotoPrism, Emby, Nextcloud y los generadores de miniaturas de GNOME, KDE y XFCE. Plex resultó estar mejor protegido, ya que utiliza una compilación propia de FFmpeg con decodificadores desactivados y una lista corta de componentes permitidos.

FFmpeg solucionó PixelSmash en la versión 8.1.2, publicada el 17 de junio. Jellyfin ya actualizó la versión integrada de FFmpeg, y PhotoPrism está preparando el bloqueo de formatos peligrosos. Para reducir el riesgo, los desarrolladores y administradores deberían actualizar FFmpeg y las aplicaciones que incluyen la biblioteca en sus compilaciones, no procesar contenido multimedia de fuentes no confiables mediante escaneos automáticos y mantener ASLR activado.