
Ros2 내에서 Fastrtps-DDS 취약점 CVE-2024-28231의 사용을 시연합니다.
이 리포지토리는 ubuntu 22 기반의 취약한 ros2 iron Docker 이미지와 해당 익스플로잇을 포함합니다. 우리는 fastrtps 버전 2.10.3의 취약점을 악용하여 힙 버퍼 오버플로우를 통해 원격 구독자의 서비스 거부를 가능하게 합니다.
Fast RTPS 버전 2.10.3 및 종속성은 Docker 컨테이너 내 target 폴더에서 소스로부터 빌드되며, ros iron이 설치됩니다.
면책 조항: 이 취약점은 저희가 발견한 것이 아니며 Fastdds 및 ros2 iron의 업스트림 리포지토리에서 이미 패치되었습니다. 이 취약점은 연구 목적으로 재현되었습니다. 이 리포지토리는 보안 연구자가 통제된 환경에서 취약점을 재현하고 이해할 수 있도록 의도된 개념 증명 코드입니다. 이 코드를 프로덕션 시스템이나 소유하지 않았거나 명시적 테스트 허가를 받지 않은 시스템에서 실행하지 마십시오.
실행 파일 exploit, 즉 파일 src/exploit.py는 시작 후 관찰하는 다음 데이터 메시지에 대해 DoS를 수행합니다. 공격 대상 ros 토픽(기본값은 '/chatter' 토픽)을 지정하는 입력을 추가할 수 있습니다. 스크립트는 토픽의 다음 메시지를 기다린 후('lo'를 제외한 모든 인터페이스에서) 조작하여 원래 대상으로 다시 전송합니다. prepare_exploit.sh 스크립트를 사용하여 익스플로잇 실행 파일을 생성할 수 있습니다.
공격 요구 사항:
std_msgs/Float32MultiArray)에 대해서만 작동합니다.