NVIDIA Container Toolkit 1.17.3 以前のバージョンには、Compute Unified Device Architecture(CUDA)の上位互換性の処理にセキュリティの脆弱性が存在します。コンテナイメージに悪意のある細工がされたシンボリックリンクファイルが含まれている場合、 libnvidia-container はコンテナ内のホストディレクトリを読み取り専用モードで誤ってマウントします。攻撃者はこの脆弱性を悪用してコンテナの隔離メカニズムをバイパスし、機密情報の盗難やホスト権限の昇格を引き起こす可能性があります。この脆弱性の詳細については、「NVIDIA Container Toolkit」をご参照ください。この脆弱性をできるだけ早く修正してください。
影響を受けるバージョン
この脆弱性は、1.32 より前の Kubernetes を実行し、NVIDIA Container Toolkit 1.17.3 以前がインストールされている GPU アクセラレーション ノードを持つクラスターに影響します。
nvidia-container-cli --version を実行して、コンポーネントのバージョンを確認できます。
予防方法
脆弱性が修正されるまでは、システムのセキュリティと安定性を確保するために、信頼されていないコンテナイメージをクラスターで実行しないことをお勧めします。次の方法を使用できます。
ACKAllowedRepos ポリシーを有効にして、信頼できるリポジトリのイメージを使用し、信頼できる担当者のみが最小権限の原則に基づいてイメージをインポートする権限を持っていることを確認します。詳細については、「ポリシーガバナンス機能を有効にする」をご参照ください。
信頼できるイメージのみをクラスターにデプロイする方法の詳細については、「Notation and Ratify を使用して OCI アーティファクトの署名と署名検証を行う」をご参照ください。
ソリューション
使用方法に関する注意事項
このソリューションは、ACK マネージド プロ クラスター、ACK マネージド ベーシック クラスター、ACK 専用クラスター、ACK Edge クラスター クラウドノードプール、および ACK 凌雲クラスター マネージドノードプールに適用できます。
クラスタータイプが ACK 凌雲クラスター で、ノードプールが凌雲ノードプールの場合は、チケットを送信 してください。
システムの安定性を維持するために、すべてのノードを同時にパッチ適用するのではなく、バッチでノードに脆弱性パッチを適用します。
プロセス全体で、ノードで実行されているアプリケーション ポッドを再起動することで問題を修正します。修正操作は、オフピーク時に実行してください。
ソリューション
新しい GPU アクセラレーション ノードの構成ソリューション
このソリューションは、Kubernetes 1.20 以降を実行しているクラスターに適用できます。クラスターの Kubernetes バージョンが 1.20 より前の場合は、「クラスターをアップグレードする」をご参照ください。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
管理するノードプールを見つけ、[編集] をクリックし、
ack.aliyun.com/nvidia-container-runtime-version=1.17.5ラベルをノードプールに追加して、[確認] をクリックします。説明このラベルは、ノードプールのスケールアウト時に使用される nvidia-container-toolkit のバージョンを 1.17.5 にロックし、新しいバージョンがリリースされても自動的にアップグレードされません。
新しいバージョンの nvidia-container-toolkit を使用する場合、このラベルを手動で削除する必要があります。スケールアウトノードはデフォルトで最新バージョンを使用します。
既存の GPU アクセラレーション ノードの修正ソリューション
既存の GPU アクセラレーション ノードの場合、CVE 修正スクリプトを実行することで、問題を手動で修正できます。次のセクションでは、修正ソリューションの詳細について説明します。