
إثبات برهان المفهوم لثغرة CVE-2024-21626، وهي ثغرة هروب من الحاوية في runc/Docker باستخدام معالجة واصفات الملفات. لأغراض تعليمية وبحثية فقط.
للاستخدام التعليمي/البحثي فقط، أي سلوك لا يتعلق بالتعليم/البحث يتحمل المسؤولية عنه المستخدم.
docker build . -t cve-2024-21626
docker run -it --rm cve-2024-21626 bash /poc.sh
# 另起一个terminal
/bin/bash.copy
تختلف واصفات الملفات المحددة المستخدمة حسب إصدارات docker/runc المختلفة، على سبيل المثال في حالة docker server:20.10.17 && runc version 1.1.2 يتم استخدام /proc/self/fd/9، وقد يتغير fd الفعلي حسب ترتيب فتح الملفات، وتشير الوثائق الرسمية إلى أنه في معظم الحالات يجب استخدام /proc/self/fd/7.
التعديل: قم بتعديل WORKDIR في Dockerfile إلى القيمة المقابلة.
1. 可以创建容器并指定执行命令
2. 可以指定容器使用的镜像
TODO
https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e