
PoC für CVE-2021-41091
Dieser Exploit bietet einen detaillierten Einblick in die Sicherheitslücke CVE-2021-41091 und eine Schritt-für-Schritt-Anleitung zur Nutzung des Exploit-Skripts, um eine Privilege-Escalation auf einem Host zu erreichen.
CVE-2021-41091 ist eine Schwachstelle in Moby (Docker Engine), die es nicht privilegierten Linux-Benutzern ermöglicht, innerhalb des Datenverzeichnisses (normalerweise unter /var/lib/docker) zu navigieren und Programme auszuführen, da die Berechtigungen nicht ordnungsgemäß eingeschränkt sind. Diese Schwachstelle ist vorhanden, wenn Container ausführbare Programme mit erweiterten Berechtigungen, wie z. B. setuid, enthalten. Nicht privilegierte Linux-Benutzer können diese Programme dann finden und ausführen sowie Dateien ändern, wenn die UID des Benutzers auf dem Host mit dem Dateibesitzer oder der Gruppe im Container übereinstimmt.
Das Overlay-Dateisystem ist eine kritische Komponente bei der Ausnutzung dieser Schwachstelle. Das Overlay-Dateisystem von Docker ermöglicht es, das Dateisystem des Containers über das Dateisystem des Hosts zu schichten, sodass das Hostsystem auf die Dateien im Container zugreifen und diese manipulieren kann. Im Fall von CVE-2021-41091 ermöglichen die übermäßig großzügigen Verzeichnisberechtigungen unter /var/lib/docker/overlay2 nicht privilegierten Benutzern, auf Programme in den Containern zuzugreifen und sie auszuführen, was zu einem potenziellen Privilege-Escalation-Angriff führt. Schritte zur Ausnutzung
Stellen Sie eine Verbindung zu dem auf Ihrer Maschine gehosteten Docker-Container her und erlangen Sie Root-Zugriff.
Setzen Sie im Container das setuid-Bit auf /bin/bash mit dem folgenden Befehl: chmod u+s /bin/bash
Führen Sie auf dem Hostsystem das bereitgestellte Exploit-Skript (poc.sh) aus, indem Sie das Repository klonen und das Skript wie folgt ausführen:
git clone https://github.com/UncleJ4ck/CVE-2021-41091
cd CVE-2021-41091
chmod +x ./poc.sh
./poc.sh
Getestet mit Docker Engine Version 20.10.5+dfsg1
Es ist wichtig, Docker auf Version 20.10.9 oder höher zu aktualisieren, um diese Schwachstelle zu beheben.