Vulnerabilidades en Hugging Face permiten ejecución de código arbitrario
Recientemente se han descubierto tres fallos de seguridad de alta gravedad en la biblioteca Diffusers de Hugging Face, que podrían permitir que repositorios de modelos ejecuten código arbitrario en las máquinas que los cargan. Esto abre la puerta a riesgos de seguridad en la cadena de suministro de inteligencia artificial (IA), algo que preocupa a muchos expertos en ciberseguridad.
Cómo funciona el ataque
Las vulnerabilidades, conocidas como FaceHugger, aprovechan una falla en un mecanismo de seguridad llamado trust_remote_code (que traduce a "confiar en el código remoto"). Este mecanismo está diseñado para evitar que se ejecute código no revisado durante el proceso de carga de modelos. Sin embargo, los investigadores de Zafran Labs, Gal Zaban e Ido Shani, han identificado que estas fallas permiten eludir esta protección.
- La primera vulnerabilidad, CVE-2026-44827, permite la inyección de código arbitrario a través de un flujo de custom_pipeline (una forma de personalizar flujos de trabajo) desde un repositorio de Hugging Face.
- La segunda, CVE-2026-45804, es una condición de carrera que permite introducir código arbitrario modificando la configuración entre dos solicitudes HTTP al Hub.
- La tercera, CVE-2026-44513, también permite inyección de código a pesar de que se haya configurado trust_remote_code en falso.
A quién afecta
Cualquier usuario que llame a DiffusionPipeline.from_pretrained con custom_pipeline está en riesgo. La biblioteca Diffusers, utilizada para generar videos, imágenes y audio, ha sido descargada más de 8.1 millones de veces solo en julio de 2026. Esto significa que empresas y desarrolladores que confían en esta herramienta podrían estar expuestos a ataques si no toman precauciones.
Qué significa esto para ti
Para los usuarios y empresas, esto resalta la importancia de tratar los repositorios de modelos de IA como código no confiable. Si bien se han lanzado soluciones en la versión 0.38.0 de Diffusers, es crucial que los usuarios verifiquen de dónde provienen los modelos que utilizan. Se recomienda:
- Llamar a from_pretrained solo desde fuentes completamente confiables.
- No apuntar custom_pipeline a un repositorio diferente del pretrained_model_name_or_path antes de revisar su archivo pipeline.py.
- Inspeccionar los archivos de instantáneas locales en busca de archivos inesperados antes de usarlos.