Selon la Zero Day Initiative (Trend Micro), une vulnérabilité critique CVE-2025-23298 affecte la bibliothèque NVIDIA Transformers4Rec et permet une exécution de code à distance avec privilèges root lors du chargement de checkpoints de modèles, un correctif ayant été publié par NVIDIA.
La faille provient de la fonction load_model_trainer_states_from_checkpoint qui utilise torch.load() sans paramètres de sûreté. Ce chargement désérialise directement des données pickle, ce qui autorise des fichiers de checkpoint malveillants à exécuter du code arbitraire via la méthode reduce de pickle pendant la désérialisation. L’exploit démontré intègre des commandes os.system dans des objets state_dict du modèle.
NVIDIA a corrigé la vulnérabilité en implémentant une désérialisation restreinte via serialization.py, limitant la désérialisation aux classes approuvées et ajoutant une validation des objets sérialisés. L’incident met en lumière des défis structurels des frameworks ML/IA et la nécessité de s’éloigner des formats basés sur pickle.
Impact et périmètre:
- Produit concerné: bibliothèque NVIDIA Transformers4Rec (écosystème PyTorch)
- Type de vulnérabilité: désérialisation pickle non sécurisée conduisant à une exécution de code à distance (RCE) avec privilèges root
- Risque: compromission de pipelines ML de production lors du chargement de checkpoints/modèles contaminés
IOC et TTP:
- IOC: non fournis
- TTPs:
- Désérialisation pickle non sécurisée (torch.load sans restrictions)
- Exploitation de pickle.reduce pour l’exécution de code
- Injection de commandes via os.system dans des objets state_dict
Conclusion: il s’agit d’un rapport de vulnérabilité détaillant une faille RCE, son exploitation technique et la mise à disposition d’un correctif par l’éditeur.
🔗 Source originale : https://www.thezdi.com/blog/2025/9/23/cve-2025-23298-getting-remote-code-execution-in-nvidia-merlin