Plateforme
python
Composant
transformers
Corrigé dans
5.0.0rc3
5.0.0rc3
Une vulnérabilité d'exécution de code arbitraire (RCE) a été découverte dans la bibliothèque HuggingFace Transformers, plus précisément dans la classe Trainer. Cette faille, présente dans les versions inférieures ou égales à 5.0.0rc2, permet à un attaquant d'exécuter du code malveillant en fournissant un fichier checkpoint spécialement conçu. L'impact principal réside dans la compromission potentielle du système, et la correction est disponible dans la version 5.0.0rc3.
La vulnérabilité CVE-2026-1839 dans la bibliothèque Hugging Face Transformers permet l'exécution de code arbitraire. La cause première réside dans la méthode loadrngstate() (ligne 3059 de src/transformers/trainer.py), qui utilise torch.load() sans le paramètre weightsonly=True. Cette omission, combinée à l'utilisation de versions de PyTorch inférieures à 2.6 et torch>=2.2, permet à un attaquant d'injecter du code malveillant via des fichiers d'état de générateurs de nombres aléatoires (RNG) compromis. La protection inadéquate offerte par le contexte géré safe_globals() dans les versions plus anciennes de PyTorch aggrave le risque. L'impact potentiel comprend la prise de contrôle du système, le vol de données sensibles et l'exécution de commandes non autorisées, en particulier dans les environnements de déploiement de modèles.
Un attaquant pourrait exploiter cette vulnérabilité en créant un fichier d'état de RNG malveillant contenant du code Python exécutable. Le chargement de ce fichier via la fonction loadrng_state() dans la classe Trainer de Transformers entraînerait l'exécution du code malveillant dans le contexte du processus d'entraînement du modèle. Cela pourrait se produire si un utilisateur malveillant peut télécharger un fichier d'état de RNG sur un serveur utilisant Transformers, ou si un attaquant compromet un environnement de développement où des modèles sont en cours d'entraînement. La vulnérabilité est particulièrement préoccupante dans les environnements d'apprentissage automatique où les modèles sont entraînés avec des données provenant de sources externes.
Statut de l'Exploit
EPSS
0.02% (percentile 6%)
CISA SSVC
Vecteur CVSS
La solution recommandée est de mettre à niveau la bibliothèque Hugging Face Transformers à la version 5.0.0rc3 ou supérieure. Cette version inclut une correction qui implémente le paramètre weightsonly=True dans la fonction torch.load(), atténuant ainsi la vulnérabilité. De plus, il est conseillé de passer à la dernière version stable de PyTorch (2.6 ou supérieure) pour bénéficier de fonctionnalités de sécurité améliorées au sein du contexte géré safeglobals(). Si une mise à niveau immédiate n'est pas possible, une analyse approfondie des fichiers d'état de RNG avant de les charger, en vérifiant leur intégrité et leur origine, doit être mise en œuvre. Restreindre l'accès aux fichiers d'état de RNG pour empêcher les manipulations non autorisées est également crucial.
Actualice la biblioteca Hugging Face Transformers a la versión 5.0.0rc3 o superior para mitigar la vulnerabilidad de ejecución arbitraria de código. Esta actualización corrige el problema al asegurar que `torch.load()` se utilice de forma segura al cargar puntos de control, evitando la ejecución de código malicioso. Consulte las notas de la versión para obtener instrucciones de actualización específicas.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
Un fichier d'état de RNG (Random Number Generator) stocke l'état interne d'un générateur de nombres aléatoires. Il est utilisé pour reproduire les résultats dans les expériences d'apprentissage automatique.
Ce paramètre indique à torch.load() de charger uniquement les poids du modèle, et non le code Python associé, évitant ainsi l'exécution de code arbitraire.
Effectuez une analyse approfondie des fichiers d'état de RNG avant de les charger et restreignez l'accès à ces fichiers.
La vulnérabilité affecte tout modèle qui utilise la classe Trainer et s'exécute sur des versions de PyTorch inférieures à 2.6 et torch>=2.2.
Consultez l'avis de sécurité de Hugging Face et la documentation de PyTorch pour plus de détails.
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.
Téléverse ton fichier requirements.txt et nous te dirons instantanément si tu es affecté.