
PoC para CVE-2021-1056, relacionado à segurança de contêineres de GPU.
CVE-2021-1056 é uma vulnerabilidade que eu submeti à NVIDIA PSIRT. Pessoalmente, ela pode levar a altos riscos de segurança em clusters HPC multi-inquilino, especialmente em plataformas de machine learning em nuvem.
Este repositório simplesmente demonstra a vulnerabilidade em contêineres GPU criados pelo nvidia-container-runtime.
Ao criar arquivos de dispositivo de caractere específicos, um atacante em um contêiner GPU (contêiner criado pelo nvidia-container-runtime) consegue obter acesso a todos os dispositivos GPU do host.
Isso também funciona em pods de GPU criados pelo k8s-device-plugin em clusters kubernetes.
Docker 19.03
nvidia-container-toolkit
NVIDIA Driver 418.87.01 / 450.51.05
NVIDIA GPU Tesla V100 / TITAN V / Tesla K80
NOTA: apenas alguns ambientes de teste foram incluídos, mas consulte o NVIDIA Security Bulletin; esta vulnerabilidade funciona em todas as GPUs das séries GeForce, NVIDIA RTX/Quadro, NVS e Tesla, e em todas as versões de drivers.
Consulte QuickStart.md
Recomendado
Ou
--cap-drop MKNOD ao docker run para proibir o mknod em contêineressecurity context em clusters kubernetes ao criar um podEste projeto é licenciado sob a Licença MIT.
Sinta-se à vontade para enviar Issues e Pull Requests se tiver algum problema.