Le framework robotique open source LeRobot de Hugging Face est touché par une faille critique d’exécution de code à distance. Tout attaquant capable d’atteindre le port du service peut prendre le contrôle de la machine sans nom d’utilisateur, mot de passe ni certificat. La vulnérabilité est référencée CVE-2026-25874.
Où se situe la faille
LeRobot exécute souvent des modèles de politique entraînés sur un serveur GPU, tandis que le robot en frontal appelle un PolicyServer via gRPC pour recevoir des instructions d’action. Cette architecture n’est pas le problème. Le risque vient de la couche de communication, qui applique pickle.loads() de Python à des données entrantes.
Pickle n’est pas un format passif comme JSON ou protobuf. Pendant la désérialisation, il peut reconstruire des objets Python arbitraires et déclencher de la logique, jusqu’à l’exécution de commandes. Les handlers RPC concernés sont SendPolicyInstructions() et SendObservations(). Tous deux acceptent des octets bruts et les transmettent directement à pickle, sans validation de type.
Un payload conçu avec un appel os.system() peut donc exécuter une commande dès la désérialisation côté serveur. Le risque est aggravé par le fait que PolicyServer utilise add_insecure_port() par défaut, sans TLS ni authentification. Même sur un réseau interne, l’accessibilité réseau suffit.
Pourquoi la robotique aggrave l’impact
La version confirmée comme touchée est LeRobot v0.4.3 publiée sur PyPI. Les versions antérieures utilisant la même architecture d’inférence asynchrone sont probablement exposées aussi. LeRobot compte plus de 21 500 étoiles GitHub et fait partie des projets robotiques open source les plus visibles; au moment de l’article source, aucune version corrigée officielle n’était encore disponible.
Compromettre un PolicyServer n’est pas seulement compromettre un serveur applicatif. Ces systèmes tournent souvent avec des privilèges élevés sur des machines GPU, à proximité des jeux de données et des poids de modèles, et se connectent directement à du matériel robotique physique. Sur une ligne de production ou dans la robotique médicale, une faille logicielle peut devenir un problème de sûreté physique.
Ce que les équipes doivent faire
Les chercheurs recommandent de remplacer pickle par JSON, des champs protobuf natifs ou safetensors de Hugging Face; d’activer TLS via des ports gRPC sécurisés; de lier le service à des interfaces privées; de filtrer le port par pare-feu; et de ne plus exposer PolicyServer tant qu’un vrai correctif n’est pas disponible. Ces mesures réduisent le risque, mais la correction durable dépend d’une nouvelle version de Hugging Face.
La leçon rappelle d’anciennes failles de fichiers de modèles PyTorch. Les équipes de machine learning utilisent pickle parce qu’il est rapide, pratique et profondément ancré dans l’écosystème. Dès que des fichiers de modèle, des instructions de politique ou des canaux d’observation acceptent des entrées externes, cette commodité devient une surface d’exécution de code.
Sources: CocoLoop, CVE-2026-25874: Hugging Face LeRobot Unauthenticated RCE via Pickle Deserialization (Resecurity); Critical CVE-2026-25874 Leaves Hugging Face LeRobot Open to Unauthenticated RCE (The Hacker News)