
Dimostrazione dell'utilizzo della vulnerabilità Fastrtps-DDS CVE-2024-28231 all'interno di Ros2
Questo repository include un'immagine Docker vulnerabile di ROS2 Iron basata su Ubuntu 22 e un exploit corrispondente. Sfruttiamo la vulnerabilità in Fast-RTPS versione 2.10.3, che consente il denial of service di un subscriber remoto tramite heap buffer overflow.
Fast RTPS versione 2.10.3 e le dipendenze vengono compilati dal sorgente nella cartella target in un container Docker, e ROS Iron è installato.
Disclaimer: Questa vulnerabilità non è stata trovata da noi ed è già stata corretta nel repository upstream di Fast-DDS e ROS2 Iron. Questa vulnerabilità è stata riprodotta a fini di ricerca. Questo repository è un codice proof-of-concept destinato a ricercatori di sicurezza per riprodurre e comprendere la vulnerabilità in un ambiente controllato. Non eseguire questo codice su sistemi di produzione o su sistemi di cui non sei proprietario o per i quali non hai esplicita autorizzazione al test.
L'eseguibile exploit, rispettivamente il file src/exploit.py, realizza un DoS per il prossimo messaggio di dati che osserva dopo l'avvio. Puoi aggiungere un input per specificare il topic ROS attaccato (il default è il topic '/chatter').
Lo script attende il prossimo messaggio sul topic (su tutte le interfacce tranne 'lo') e poi lo manipola e lo reinvia al destinatario originale.
Lo script prepare_exploit.sh può essere usato per generare l'eseguibile exploit.
Requisiti per l'attacco:
std_msgs/Float32MultiArray.