
CVE-2026-80521 および CVE-2026-52910 向けのコンテナエスケープ概念実証エクスプロイト。安全な PoC 実行のための使い捨て QEMU/Ubuntu VM ハーネス付き。
このディレクトリは、使い捨ての Ubuntu QEMU ゲスト内で Ubuntu Docker コンテナをビルドして実行します。PoC はゲストにコピーされ、ホスト側のスクリプトによって実行されることはありません。
qemu-imgcurlxorrisosocat は VM_PAYLOAD_CONSOLE=1 を使用する場合のみKVM は利用可能な場合に使用され、それ以外の場合は 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.* の下に保持します。各呼び出しは 1 回の VM 起動と 1 回のペイロード試行を実行します。ゲストの第 2 シリアルポートを明示的に使用するペイロードには VM_PAYLOAD_CONSOLE=1 を設定してください。