
Démonstration de l'utilisation de la vulnérabilité CVE-2024-28231 de Fastrtps-DDS au sein de Ros2
Ce dépôt contient une image Docker vulnérable de ros2 iron basée sur ubuntu 22 et un exploit correspondant. Nous exploitons la vulnérabilité de fastrtps version 2.10.3, permettant un déni de service d'un abonné distant via un débordement de tampon sur le tas.
Fast RTPS version 2.10.3 et ses dépendances sont compilés depuis les sources dans le dossier target dans un conteneur Docker, et ros iron est installé.
Avertissement : Cette vulnérabilité n'a pas été découverte par nous et est déjà corrigée dans le dépôt amont de Fastdds et ros2 iron. Cette vulnérabilité a été reproduite à des fins de recherche. Ce dépôt est un code de preuve de concept destiné aux chercheurs en sécurité pour reproduire et comprendre la vulnérabilité dans un environnement contrôlé. N'exécutez pas ce code sur des systèmes de production ou des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de test.
L'exécutable exploit, respectivement le fichier src/exploit.py, réalise un déni de service pour le prochain message de données qu'il observe après le démarrage. Vous pouvez ajouter une entrée pour spécifier le topic ros attaqué (par défaut '/chatter').
Le script attend le prochain message sur le topic (sur toutes les interfaces sauf 'lo') puis le manipule et le renvoie à la cible d'origine.
Le script prepare_exploit.sh peut être utilisé pour générer l'exécutable de l'exploit.
Exigences pour l'attaque :
std_msgs/Float32MultiArray.