Gazebo corrige une faille de lecture de fichiers

Le simulateur robotique Gazebo a publié des correctifs pour une faille du plugin WebsocketServer qui pouvait exposer des fichiers de la machine hôte.

Gazebo a publié le 18 juin un avis de sécurité sur son plugin WebsocketServer : une opération nommée asset pouvait lire des fichiers arbitraires sur la machine qui exécute le simulateur. Le correctif est déjà disponible dans les branches prises en charge, avec des versions de rattrapage pour plusieurs générations du logiciel : ign-launch 5.3.1 pour Fortress, gz-launch 7.1.2 pour Harmonic, 8.0.3 pour Ionic, 9.0.1 pour Jetty, ainsi que gz-sim 10.4.0 pour Jetty.

Le fait est assez technique, mais il touche un point concret de la robotique moderne : le simulateur n’est plus seulement un outil local de développement. Gazebo sert à tester des robots mobiles, des bras, des flottes et des scénarios autonomes, parfois avec une interface web ou un accès réseau pour visualiser et piloter une simulation. Dans ce cas précis, le gestionnaire OnAsset acceptait des chemins de fichiers sans validation suffisante. Lorsque le serveur WebSocket était joignable, en particulier sur le port 9002 par défaut, un client réseau pouvait accéder à des fichiers du système hôte si aucune clé d’autorisation n’était configurée.

La portée est donc moins spectaculaire qu’une faille dans un robot déployé sur le terrain, mais elle compte pour les équipes qui automatisent leurs bancs d’essai. Une simulation robotique peut contenir des modèles propriétaires, des cartes de sites industriels, des configurations de capteurs, des identifiants de services internes ou des traces d’expériences. L’avis indique que le correctif limite désormais la lecture des ressources aux emplacements explicitement approuvés, comme les répertoires de ressources Gazebo et le cache Fuel, au lieu d’accepter des chemins absolus.

L’épisode rappelle aussi que les chaînes logicielles de robotique héritent de longues histoires de paquets. L’avis précise que les anciennes versions du plugin vivaient dans le dépôt launch, à l’époque Ignition puis Gazebo, ce qui explique les correctifs sur ign-launch, gz-launch et gz-sim. Pour les administrateurs qui ne peuvent pas mettre à jour immédiatement, Gazebo recommande de définir une authorization_key dans la configuration du plugin ou de filtrer strictement l’accès au port WebSocket. Pour Mindshot, c’est une brève utile parce qu’elle relie cybersécurité et robotique sans détour : sécuriser les simulateurs devient une partie normale de l’ingénierie des robots.