
CVE-2026-80521 및 CVE-2026-52910에 대한 컨테이너 탈출 개념 증명 익스플로잇으로, 안전한 PoC 실행을 위한 일회용 QEMU/Ubuntu VM 하네스를 포함합니다.
이 디렉터리는 일회용 Ubuntu QEMU 게스트 내부에서 Ubuntu Docker 컨테이너를 빌드하고 실행합니다. PoC는 게스트로 복사되며 호스트 스크립트에 의해 실행되지 않습니다.
qemu-imgcurlxorrisoVM_PAYLOAD_CONSOLE=1을 사용할 때만 socatKVM은 사용 가능할 때 사용되며, 그렇지 않으면 QEMU는 TCG로 폴백합니다.
UBUNTU_VERSION=26.04 \
VM_EXPECTED_KERNEL=7.0.0-31-generic \
./vm/build_image.sh
빌더는 선택된 Ubuntu 릴리스 클라우드 이미지를 다운로드하고, Ubuntu가 게시한 SHA256SUMS에 대해 검증하며, 패키지 업데이트와 Docker를 설치하고, 일치하는 Ubuntu 컨테이너 이미지를 가져온 뒤 vm/ubuntu-<version>.qcow2를 작성합니다.
기본 URL은 2026년 9월 16일에 제공되는 최신 공식 릴리스 이미지로 고정되어 있습니다:
2026091120260823다른 릴리스를 사용하려면 UBUNTU_RELEASE_URL, UBUNTU_IMAGE_URL 또는 UBUNTU_SUMS_URL을 설정하십시오.
생성된 qcow2 이미지와 SSH 키는 Git에서 무시되는 로컬 아티팩트입니다. 개인 키는 모드 0600으로 유지됩니다.
UBUNTU_VERSION=26.04 \
VM_EXPECTED_KERNEL=7.0.0-31-generic \
./vm/run_container.sh ./path/to/binary [arguments...]
각 실행은 임시 qcow2 오버레이를 생성하고, 게스트를 부팅하며, SSH를 통해 바이너리를 복사하고, 네트워킹이 비활성화된 새 컨테이너에서 실행합니다. 인수, 표준 스트림 및 종료 상태가 전달됩니다.
유용한 재정의:
VM_CPUS=4 VM_MEMORY_MB=4096 ./vm/run_container.sh ./binary
VM_SSH_PORT=2223 ./vm/run_container.sh ./binary
KEEP_VM_RUN_DIR=1 ./vm/run_container.sh ./binary
KEEP_VM_RUN_DIR=1은 오버레이와 로그를 /tmp/ubuntu-container.* 아래에 유지합니다. 각 호출은 한 번의 VM 부팅과 한 번의 페이로드 시도를 수행합니다. 게스트의 두 번째 시리얼 포트를 명시적으로 사용하는 페이로드의 경우 VM_PAYLOAD_CONSOLE=1을 설정하십시오.