
GPUコンテナセキュリティに関連するCVE-2021-1056のPoC
CVE-2021-1056 は、私がNVIDIA PSIRTに報告した脆弱性です。個人的には、マルチテナントHPCクラスタ、特にクラウド機械学習プラットフォームにおいて高いセキュリティリスクにつながる可能性があります。
このリポジトリは、nvidia-container-runtime によって作成されたGPUコンテナ上でこの脆弱性を簡単に実証するものです。
特定のキャラクタデバイスファイルを作成することで、GPUコンテナ(nvidia-container-runtime によって作成されたコンテナ)内の攻撃者がホスト上のすべてのGPUデバイスにアクセスできるようになります。
また、Kubernetesクラスタ上で k8s-device-plugin によって作成されたGPU Podでも動作します。
Docker 19.03
nvidia-container-toolkit
NVIDIA Driver 418.87.01 / 450.51.05
NVIDIA GPU Tesla V100 / TITAN V / Tesla K80
注意: テスト環境は一部のみですが、NVIDIA Security Bulletin を参照すると、この脆弱性はすべてのGeForce、NVIDIA RTX/Quadro、NVS、TeslaシリーズのGPUと、すべてのバージョンのドライバに影響します。
QuickStart.md を参照してください。
推奨
または
docker run に引数 --cap-drop MKNOD を追加して、コンテナ内での mknod を禁止するsecurity context を有効にするこのプロジェクトはMITライセンスの下でライセンスされています。
問題がある場合は、Issues や Pull Requests を遠慮なく送信してください。