CERT/CC publicó la nota de vulnerabilidad VU#456290 el 1 de septiembre, sobre CVE-2026-80047 en Hugging Face Transformers. En palabras de la propia nota, la biblioteca «realiza una recuperación remota del módulo y una escritura en la caché local antes de evaluar el aviso de consentimiento trust_remote_code, lo que vulnera el contrato de seguridad aplicado en otras rutas dinámicas de carga de módulos».
Dónde se invierte el orden
La ruta afectada es load_custom_generate(), que llama a get_cached_module_file() para custom_generate/generate.py del repositorio de un modelo. Ese helper copia el archivo a la HF_MODULES_CACHE local. Solo después se consulta resolve_trust_remote_code(). Todas las demás rutas de carga — AutoConfig, AutoModel, AutoTokenizer — piden permiso antes de tocar el disco.
Qué falla en el encuadre habitual
Esto se describirá como ejecución remota de código en Transformers, y el resumen de NVD lo sugiere al empezar con «archivos Python remotos». Por sí solo no es RCE: rechazar el aviso de confianza sigue impidiendo la ejecución, porque get_class_in_module() se ejecuta después de la llamada de consentimiento. Lo que no se puede rechazar es que el archivo acabe en la caché, donde una carga posterior y autorizada puede entrar en conflicto con él. El impacto es una escritura no deseada que sobrevive a la sesión en la que el usuario dijo que no.
El rango de versiones apunta en la dirección equivocada
El aviso sitúa el rango afectado entre 4.49.0 y 5.8.1, y el array de vulnerabilidades del registro de GitHub está vacío, por lo que no se nombra ninguna versión parcheada. Leer ese techo como «las versiones posteriores están limpias» es la trampa: el orden de recuperación antes del consentimiento sigue intacto en v5.16.1, publicada el 26 de agosto — ocho versiones menores por encima del límite superior del rango indicado. El rango registra hasta dónde llegaron las pruebas, no dónde termina el fallo.
Sin declaración del proveedor, cuatro semanas después
CERT/CC registra que Hugging Face fue notificado el 4 de agosto y, en la publicación del 1 de septiembre, indica un estado del proveedor Unknown con la línea «No hemos recibido una declaración del proveedor». Tampoco se publica ninguna puntuación: ni GitHub ni CERT/CC asignan un CVSS. Una demora de 28 días entre la notificación y la publicación, sin respuesta del proveedor, es la historia de la divulgación que acompaña a la técnica.
