
Proof-of-Concept-Exploit für CVE-2024-21626, eine Container-Escape-Sicherheitslücke in runc/Docker unter Verwendung von Dateideskriptor-Manipulation. Nur zu Bildungs- und Forschungszwecken.
Nur für Bildungs-/Forschungszwecke, jegliches Risiko, das durch nicht mit Bildung/Forschung zusammenhängende Handlungen entsteht, liegt in der eigenen Verantwortung.
docker build . -t cve-2024-21626
docker run -it --rm cve-2024-21626 bash /poc.sh
# 另起一个terminal
/bin/bash.copy
Die spezifischen Dateideskriptoren, die von verschiedenen Docker/runc-Versionen verwendet werden, unterscheiden sich. Zum Beispiel bei Docker Server 20.10.17 && runc version 1.1.2 wird /proc/self/fd/9 verwendet. Der tatsächliche fd kann sich je nach Reihenfolge der Dateiöffnungen ändern. Die offizielle Dokumentation gibt an, dass in den meisten Fällen /proc/self/fd/7 verwendet werden sollte.
Änderung: Ändern Sie WORKDIR in der Dockerfile auf den entsprechenden Wert.
1. 可以创建容器并指定执行命令
2. 可以指定容器使用的镜像
TODO
https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e