
PoC for CVE-2021-1056, GPU 컨테이너 보안 관련
CVE-2021-1056는 제가 NVIDIA PSIRT에 제출한 취약점입니다. 개인적으로 이 취약점은 멀티 테넌트 HPC 클러스터, 특히 클라우드 머신러닝 플랫폼에서 높은 보안 위험을 초래할 수 있습니다.
이 저장소는 nvidia-container-runtime으로 생성된 GPU 컨테이너에서 이 취약점을 간단히 시연합니다.
공격자는 GPU 컨테이너(nvidia-container-runtime으로 생성된 컨테이너)에서 특정 문자 디바이스 파일을 생성함으로써 호스트의 모든 GPU 디바이스에 접근할 수 있습니다.
이 취약점은 Kubernetes 클러스터에서 k8s-device-plugin으로 생성된 GPU 파드에서도 동작합니다.
Docker 19.03
nvidia-container-toolkit
NVIDIA Driver 418.87.01 / 450.51.05
NVIDIA GPU Tesla V100 / TITAN V / Tesla K80
참고: 일부 테스트 환경만 포함되어 있지만, NVIDIA 보안 공지를 참조하면, 이 취약점은 모든 GeForce, NVIDIA RTX/Quadro, NVS 및 Tesla 시리즈 GPU와 모든 버전의 드라이버에서 동작합니다.
QuickStart.md를 참조하세요.
권장
또는
mknod를 금지하려면 docker run에 --cap-drop MKNOD 인자를 추가하세요security context를 활성화하세요이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다.