
CVE-2019-5736에 대한 파괴적인 Docker 컨테이너 탈출 익스플로잇으로, docker exec를 통해 트리거되는 페이로드로 호스트의 /usr/bin/docker-runc를 덮어씁니다.
payload.c 내부의 HOST를 편집하고, make로 컴파일하세요. nc를 시작하고 컨테이너 안에서 pwn.sh를 실행하세요.
/usr/bin/docker-runc 바이너리를 호스트 상에서 페이로드로
덮어씁니다. 또한 컨테이너 내부의 /bin/sh도 덮어씁니다.docker exec <id> /bin/sh가 실행될 때만 작동하도록 테스트되었습니다.익스플로잇을 작성할 때 사용한 원본 커밋은 여기에 있습니다.
취약점을 실제로 발견한 연구자들은 분석 글(writeup)을 여기에 게시했습니다.
제 것과 다르게 동작하는 원본 익스플로잇 CVE_2019_5736_tar_xz를 추가했습니다.
cyphar 님께서 알려주셔서 감사드립니다.