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 ポリシーを有効にして、信頼できるイメージレジストリからのみイメージのプルを許可します。
最小権限の原則に基づいて、信頼できる担当者のみがイメージのインポート操作を実行できるように承認します。詳細については、「カスタム RBAC ロールを使用してクラスター内のリソース操作を制限する」をご参照ください。
ソリューション
新しい GPU アクセラレーション ノード
Kubernetes 1.20 以降を実行する ACK Edge クラスター は、CVE-2025-23359 が修正されている NVIDIA Container Toolkit v1.17.5 と統合されています。 2025 年 4 月 30 日以降、Kubernetes 1.20 以降を実行する ACK Edge クラスターで GPU アクセラレーション ノードを直接作成して使用できます。クラスターの Kubernetes バージョンが 1.20 より前の場合は、クラスターをアップグレードすることをお勧めします。
既存の GPU アクセラレーション ノード
2025 年 4 月 30 日より前に作成された既存のクラウド上およびエッジ GPU アクセラレーション ノードの場合は、CVE パッチスクリプトを実行して CVE-2025-23359 を手動で修正する必要があります。
ノードのバッチで脆弱性パッチを適用します。システムの安定性を確保するために、クラスター内のすべてのノードを同時にパッチ適用しないことをお勧めします。
既存のクラウド GPU アクセラレーション ノードにパッチを適用する
既存のクラウド GPU アクセラレーション ノードにパッチを適用する方法の詳細については、「既存の GPU アクセラレーション ノードの修正ソリューション」をご参照ください。
既存のエッジ GPU アクセラレーション ノードにパッチを適用する
1. ノードをドレインする
ACK コンソールを使用する
ACK コンソール にログインします。左側のナビゲーション ウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、変更するクラスターの名前をクリックします。左側のナビゲーション ウィンドウで、 を選択します。
[ノード] ページで、管理するノードを選択し、ページの下部にある [ドレイン] をクリックします。表示されるダイアログボックスで、[OK] をクリックします。
kubectl
次のコマンドを実行して、ノードのステータスをスケジューリング不可に設定します。
kubectl cordon <NODE_NAME>
次のコマンドを実行して、ノードをドレインします。
kubectl drain <NODE_NAME> --grace-period=120 --ignore-daemonsets=true
2. ノードでパッチスクリプトを実行する
エッジ GPU アクセラレーション ノードで次のコマンドを実行して、CVE-2025-23359 を修正します。
export REGION="" INTERCONNECT_MODE=""; export INTERNAL=$( [ "$INTERCONNECT_MODE" = "private" ] && echo "-internal" || echo "" ); wget http://aliacs-k8s-${REGION}.oss-${REGION}${INTERNAL}.aliyuncs.com/public/pkg/edge/fix-cve-2025-23359.sh -O /tmp/fix-cve-2025-23359.sh && bash /tmp/fix-cve-2025-23359.sh;
次の表は、上記のコマンドのパラメーターについて説明しています。
パラメーター | 説明 | 例 |
| ACK Edge クラスター のリージョン ID。サポートされているリージョンとその ID の詳細については、「サポートされているリージョン」をご参照ください。 | cn-hangzhou |
| ノードへの接続のネットワークタイプ。有効な値:
| private |
次の出力が返された場合、ノードには CVE-2025-23359 がありません。マシンに変更は加えられず、操作は必要ありません。
The current version of Nvidia container toolkit is safe, no cve.
次の出力が返された場合、GPU アクセラレーション ノードで CVE-2025-23359 が修正されています。
2024-10-10/xxxxx INFO succeeded to fix nvidia container toolkit cve
3. ノードをスケジューリング可能に設定する(ノードのフェンスを解除する)
ACK コンソール
ACK コンソール にログインします。左側のナビゲーション ウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、変更するクラスターの名前をクリックします。左側のナビゲーション ウィンドウで、 を選択します。
[ノード] ページで、管理するノードを選択し、ページの下部にある [ノードのスケジューリング可能性を設定] をクリックします。表示されるダイアログボックスで、[スケジューリング可能に設定] を選択し、[OK] をクリックします。
kubectl
次のコマンドを実行して、ノードの隔離を解除します。
kubectl uncordon <NODE_NAME>
4. (オプション) GPU アクセラレーション ノードで CVE-2025-23359 が修正されているかどうかを確認する
上記の操作が完了したら、次のトピックのサンプル YAML ファイルに基づいて GPU アクセラレーション ノードをデプロイし、ノードが期待どおりに動作することを確認することをお勧めします。
排他的 GPU: 「デフォルトの GPU スケジューリングモードを使用する」をご参照ください。
GPU 共有: 「GPU 共有を使用して GPU を共有する例」をご参照ください。