
PoC для CVE-2021-1056, связанный с безопасностью GPU-контейнеров
CVE-2021-1056 — это уязвимость, которую я отправил в NVIDIA PSIRT. По моему мнению, она может привести к высоким рискам безопасности в мультитенантных HPC-кластерах, особенно на облачных платформах машинного обучения.
Этот репозиторий просто демонстрирует уязвимость в GPU-контейнерах, созданных с помощью nvidia-container-runtime.
Создавая определённые файлы символьных устройств, злоумышленник в GPU-контейнере (контейнере, созданном с помощью nvidia-container-runtime) получает доступ ко всем GPU-устройствам хоста.
Это также работает с GPU-подом, созданным с помощью k8s-device-plugin в кластере Kubernetes.
Docker 19.03
nvidia-container-toolkit
NVIDIA Driver 418.87.01 / 450.51.05
NVIDIA GPU Tesla V100 / TITAN V / Tesla K80
ПРИМЕЧАНИЕ: включено лишь несколько тестовых сред, но, согласно Бюллетеню безопасности NVIDIA, эта уязвимость затрагивает все GPU GeForce, NVIDIA RTX/Quadro, NVS и Tesla, а также драйверы всех версий.
См. QuickStart.md
Рекомендуется
Или
--cap-drop MKNOD в docker run, чтобы запретить mknod в контейнерахsecurity context в кластерах Kubernetes при создании подаЭтот проект лицензирован под лицензией MIT.
Не стесняйтесь отправлять Issues и Pull Requests, если у вас возникнут проблемы.