
Demonstrando o uso da vulnerabilidade Fastrtps-DDS CVE-2024-28231 no Ros2
Este repositório inclui uma imagem Docker vulnerável do ros2 iron baseada no ubuntu 22 e um exploit correspondente. Exploramos a vulnerabilidade na versão 2.10.3 do fastrtps, permitindo negação de serviço de um assinante remoto via estouro de buffer no heap.
O Fast RTPS versão 2.10.3 e as dependências são compilados a partir do código-fonte na pasta target em um contêiner Docker, e o ros iron é instalado.
Aviso: Esta vulnerabilidade não foi encontrada por nós e já está corrigida no repositório upstream do Fastdds e do ros2 iron. Esta vulnerabilidade foi reproduzida para fins de pesquisa. Este repositório é um código de prova de conceito destinado a pesquisadores de segurança para reproduzir e compreender a vulnerabilidade em um ambiente controlado. Não execute este código em sistemas de produção ou em sistemas que você não possua ou para os quais não tenha permissão explícita para testar.
O executável exploit, respectivamente o arquivo src/exploit.py, realiza DoS para a próxima mensagem de dados que observar após o início. Você pode adicionar uma entrada para especificar o tópico ros atacado (o padrão é o tópico '/chatter').
O script aguarda a próxima mensagem no tópico (em todas as interfaces, exceto 'lo') e então a manipula e a reenvia para o alvo original.
O script prepare_exploit.sh pode ser usado para gerar o executável do exploit.
Requisitos para o ataque:
std_msgs/Float32MultiArray.