FFmpeg corrige fallo PixelSmash en popular decodificador de video

FFmpeg corrige fallo PixelSmash en popular decodificador de video

Una vulnerabilidad recién descubierta en FFmpeg, conocida como PixelSmash, podría explotarse para ejecutar código de forma remota en servidores Jellyfin bajo ciertas condiciones, y también puede provocar una condición de denegación de servicio en aplicaciones como Kodi, Emby, Nextcloud, PhotoPrism y OBS Studio.

El fallo, registrado como CVE-2026-8461, es una escritura fuera de los límites del heap en el decodificador MagicYUV. Recibió una puntuación de gravedad alta de 8.8 y puede aprovecharse mediante un archivo de video malicioso en formato AVI, MKV o MOV. Cualquier aplicación que utilice libavcodec, la biblioteca central de FFmpeg para decodificación y codificación de video, se considera vulnerable.

Sin embargo, la explotación para ejecución remota de código (RCE) es posible si la defensa de Aleatorización del Diseño del Espacio de Direcciones (ASLR) está deshabilitada o encadenando otra vulnerabilidad para eludir la protección.

Causa raíz e impacto

Investigadores de JFrog, empresa de seguridad en la cadena de suministro de software, afirman que PixelSmash se origina en la forma en que MagicYUV procesa los slices, regiones independientes de un fotograma de video que pueden decodificarse por separado del resto de la imagen.

"La vulnerabilidad es un desbordamiento de búfer heap de una fila en el manejo de slices del decodificador MagicYUV, causado por una inconsistencia entre cómo el asignador de fotogramas y el decodificador calculan las alturas de los planos de croma", explica JFrog.

PixelSmash puede activarse cuando el usuario abre archivos de video AVI, MKV o MOV, navega por un directorio que contiene el archivo (a través de la generación de miniaturas) o ejecuta cualquier flujo de trabajo automatizado de ingesta de medios.

JFrog descubrió que múltiples aplicaciones de medios populares, como Kodi, OBS Studio, PhotoPrism y los generadores de miniaturas de GNOME/KDE/XFCE, utilizan FFmpeg con el decodificador MagicYUV habilitado, lo que las hace vulnerables a ataques PixelSmash.

Slack, Discord, Telegram y WhatsApp también podrían ser susceptibles a ataques PixelSmash, ya que utilizan FFmpeg para generar vistas previas de video en el servidor, aunque no fueron probados.

El investigador principal de JFrog, Yuval Moravchick, demostró que PixelSmash puede utilizarse para ejecución remota de código en instancias de Jellyfin y Nextcloud (con vista previa de película habilitada).

"Para demostrar el impacto en el mundo real, logramos ejecución remota de código completa contra un servidor de medios Jellyfin 10.11.9, el segundo servidor de medios autoalojado más popular (después de Plex), a través de su canal normal de escaneo de biblioteca de medios", dice JFrog.

"Ruta de ataque: descarga de un AVI MagicYUV manipulado en la biblioteca de medios -> Jellyfin activa automáticamente ffprobe para extraer metadatos -> se dispara la escritura fuera de límites -> se secuestra AVBuffer.free para system() -> se ejecuta un comando arbitrario como el usuario del servicio jellyfin".

No obstante, Moravchick señaló que el exploit de RCE requiere que ASLR esté deshabilitado, y que CVE-2026-8461 por sí solo no elude esta protección de memoria. En teoría, un error separado de divulgación de información en el decodificador FlashSV de FFmpeg podría encadenarse con PixelSmash para eludir ASLR.

Otro escenario de ataque ocurre a través de descargas torrent y no requiere interacción del usuario. Los investigadores afirman que un atacante podría sembrar un video malicioso dirigido a usuarios de Jellyfin que apunten la descarga a la carpeta de la biblioteca de medios de la aplicación.

"El monitor de sistema de archivos en tiempo real de Jellyfin detecta el nuevo archivo y activa automáticamente un escaneo de metadatos ffprobe. El exploit se dispara durante el escaneo: se secuestra AVBuffer.free para system() y el comando de shell inverso del atacante se ejecuta como el usuario del servicio jellyfin".

Incluso cuando la RCE se previene o es imposible, la vulnerabilidad CVE-2026-8461 debería ser suficiente para lograr de manera confiable una condición de denegación de servicio (DoS) en objetivos vulnerables.

Los investigadores encontraron que Plex, el servidor de medios masivamente popular, utiliza una compilación personalizada de FFmpeg en la que los decodificadores están deshabilitados y una lista blanca mínima está en vigor, mitigando efectivamente el riesgo de PixelSmash.

Además de que FFmpeg lanzó la versión 8.1.2, que corrige el fallo, Jellyfin también actualizó su versión empaquetada de FFmpeg, y PhotoPrism está trabajando para agregar una lista de bloqueo de formatos de archivo para prevenir una posible explotación.

El equipo de Nextcloud recibió el informe a través de HackerOne, pero se negó a solucionar el fallo porque existe fuera de Nextcloud.

JFrog descubrió PixelSmash (CVE-2026-8461) y lo reportó al equipo de seguridad de FFmpeg el 13 de mayo. El desarrollador solucionó el problema en la versión 8.1.2, lanzada el 17 de junio.

Los investigadores advierten que PixelSmash tiene una superficie de ataque enorme porque el decodificador MagicYUV está presente en cientos de proyectos que "confían en FFmpeg para manejar entradas no confiables de manera segura", convirtiendo la vulnerabilidad en un problema de cadena de suministro.

image
image
Heap layout
Heap layout
Supply chain
Supply chain
article image
article image

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *