
استغلالات إثبات مفهوم للهروب من الحاويات لـ CVE-2026-80521 و CVE-2026-52910، مع بيئة QEMU/Ubuntu VM قابلة للتخلص منها لتنفيذ PoC بأمان.
يقوم هذا الدليل ببناء وتشغيل حاوية Ubuntu Docker داخل ضيف Ubuntu QEMU قابل للتخلص منه. يتم نسخ PoCs إلى الضيف ولا يتم تنفيذها أبدًا بواسطة نصوص المضيف.
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 المحدد، والتحقق منها مقابل SHA256SUMS المنشورة من Ubuntu، وتثبيت تحديثات الحزم و Docker، وسحب صورة حاوية Ubuntu المطابقة، وكتابة vm/ubuntu-<version>.qcow2.
يتم تثبيت عناوين URL الافتراضية على أحدث صور الإصدارات الرسمية المتاحة في 16 سبتمبر 2026:
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_PAYLOAD_CONSOLE=1 لحمولة تستخدم صراحةً منفذ التسلسل الثاني للضيف.