
PoC für CVE-2021-1056 im Zusammenhang mit GPU-Containersicherheit.
CVE-2021-1056 ist eine Sicherheitslücke, die ich an NVIDIA PSIRT gemeldet habe. Meiner Meinung nach kann sie in Multi-Tenant-HPC-Clustern zu hohen Sicherheitsrisiken führen, insbesondere in Cloud-Plattformen für maschinelles Lernen.
Dieses Repository demonstriert die Sicherheitslücke anhand von GPU-Containern, die mit nvidia-container-runtime erstellt wurden.
Durch das Erstellen spezifischer Character-Device-Dateien erhält ein Angreifer in einem GPU-Container (Container, der von nvidia-container-runtime erstellt wurde) Zugriff auf alle GPU-Geräte des Hosts.
Dies funktioniert auch bei GPU-Pods, die von k8s-device-plugin im Kubernetes-Cluster erstellt wurden.
Docker 19.03
nvidia-container-toolkit
NVIDIA-Treiber 418.87.01 / 450.51.05
NVIDIA GPU Tesla V100 / TITAN V / Tesla K80
HINWEIS: Es sind nur wenige Testumgebungen enthalten, aber siehe NVIDIA Security Bulletin. Diese Sicherheitslücke betrifft alle GeForce-, NVIDIA-RTX/Quadro-, NVS- und Tesla-Serien-GPUs sowie alle Treiberversionen.
Siehe QuickStart.md
Empfohlen
Oder
--cap-drop MKNOD zum docker run hinzu, um mknod in Containern zu verbietensecurity context in Kubernetes-Clustern beim Erstellen eines PodsDieses Projekt ist unter der MIT-Lizenz lizenziert.
Wenn Sie Probleme haben, reichen Sie gerne Issues und Pull Requests ein.