
PoC pour CVE-2021-1056, lié à la sécurité des conteneurs GPU
CVE-2021-1056 est une vulnérabilité que j'ai soumise à NVIDIA PSIRT. Personnellement, elle peut entraîner des risques de sécurité élevés dans les clusters HPC multi-locataires, en particulier sur les plates-formes de machine learning dans le cloud.
Ce dépôt illustre simplement la vulnérabilité sur des conteneurs GPU créés par nvidia-container-runtime.
En créant des fichiers de périphérique caractère spécifiques, un attaquant dans un conteneur GPU (conteneur créé par nvidia-container-runtime) est capable d'accéder à tous les périphériques GPU de l'hôte.
Cela fonctionne également sur les pods GPU créés par k8s-device-plugin sur un cluster Kubernetes.
Docker 19.03
nvidia-container-toolkit
NVIDIA Driver 418.87.01 / 450.51.05
NVIDIA GPU Tesla V100 / TITAN V / Tesla K80
NOTE : seuls quelques environnements de test sont inclus, mais référez-vous au Bulletin de sécurité NVIDIA, cette vulnérabilité fonctionne sur toutes les GPU des séries GeForce, NVIDIA RTX/Quadro, NVS et Tesla, ainsi que sur toutes les versions de pilotes.
Voir QuickStart.md
Recommandé
Ou
--cap-drop MKNOD à la commande docker run pour interdire mknod dans les conteneurssecurity context dans les clusters Kubernetes lors de la création d'un podCe projet est sous licence MIT.
N'hésitez pas à soumettre des Problèmes et des Pull Requests si vous avez des problèmes.