Veintiún zero-days en FFmpeg

Severidad percibida de los fallos de FFmpeg

  • Muchos consideran serios los problemas de RTSP/RTP porque pueden afectar a tuberías de ingestión, sistemas de vigilancia/CCTV y servicios de transcodificación que aceptan URLs controladas por un atacante.
  • Otros señalan que la explotación real probablemente requiere encadenarlos con fugas de ASLR u otros fallos, pero se sabe que las pilas multimedia filtran direcciones con facilidad.
  • Algunos sostienen que muchos de los 21 problemas son de nicho, requieren malas prácticas de despliegue o son solo un paso dentro de una cadena de explotación mayor.

Historial de seguridad de FFmpeg y actitudes

  • Los comentaristas dicen que FFmpeg lleva mucho tiempo con una “inagotable” provisión de fallos de corrupción de memoria descubiertos mediante fuzzing y que no es seguro ejecutarlo sobre entrada no confiable sin sandboxing.
  • Se describe a FFmpeg como hostil o despectivo con los informes de seguridad; algunos ven esto como agotamiento comprensible, otros como irresponsabilidad.
  • Hay desacuerdo sobre cuán “grave” esn los fallos de códecs poco comunes; algunas perspectivas de desarrolladores los minimizan, mientras que otras subrayan que los atacantes pueden elegir cualquier códec compatible.

Sandboxing, despliegue y riesgo en el mundo real

  • Según los informes, los navegadores ejecutan componentes similares a FFmpeg en procesos separados y aislados con endurecimiento del asignador; aun así, una fuga de sandbox encadenada sigue siendo una amenaza.
  • Mitigaciones recomendadas: contenedores, firejail/bubblewrap, gVisor, VMs o VMs por aplicación al estilo Qubes, aunque la aceleración por hardware y las GPU complican el sandboxing.
  • Algunos aceptan que televisores/dispositivos embebidos son, en la práctica, no aislados y sugieren separarlos a nivel de red.

Alternativas y reescrituras (Rust, GStreamer, etc.)

  • Se habla de GStreamer como un sistema de grafo multimedia enchufable; puede envolver FFmpeg, pero también tiene sus propios códecs y elementos.
  • Varios piden “reescríbanlo en Rust”, pero otros argumentan:
    • Las rutas críticas de FFmpeg y el ensamblador seguirían requiriendo unsafe y no arreglarían automáticamente los errores lógicos.
    • Una portación directa podría recrear las mismas vulnerabilidades en un nuevo lenguaje.

Debate sobre la terminología “zero-day”

  • Varios comentarios dicen que el artículo usa mal “zero-day”; históricamente significa explotado antes o en el momento de la divulgación, no simplemente “fallo grave”.
  • Hay discusión para distinguir vulnerabilidades de exploits y sobre cómo ha cambiado el significado del término.

Investigación de seguridad, LLMs e incentivos

  • Fuerte crítica a investigadores que buscan “clout” y a los informes de baja calidad generados por LLMs que saturan a los mantenedores.
  • Otros responden que las vulnerabilidades existen independientemente del comportamiento del investigador.
  • Algunos sostienen que las herramientas deberían ir más allá de los informes y enviar PRs de alta calidad; se afirma que las tasas de éxito son altas cuando se hace así.
  • Unos pocos temen que herramientas avanzadas basadas en LLM puedan encontrar y acaparar en silencio exploits poderosos.