デフォルト構成で使用した場合、NVIDIA Container Toolkit バージョン 1.17.7 以前で、Time-of-check to Time-of-use(TOCTOU)競合状態の脆弱性が確認されています。この脆弱性は、Container Device Interface(CDI)を使用するデプロイメントには影響しません。悪用された場合、この脆弱性によりコンテナエスケープが発生し、攻撃者がホスト上で任意のコマンドを実行したり、機密性の高いホストシステム情報にアクセスしたりする可能性があります。既知の攻撃シナリオでは、被害者が悪意のあるコンテナイメージを実行し、NVIDIA Container Toolkit を介してコンテナ内で GPU リソースを使用する必要があります。
公式の詳細については、「NVIDIA Container Toolkit」をご参照ください。影響を受けるクラスターには、即時の修復が必要です。
影響範囲
この脆弱性は、GPU アクセラレーションノードに NVIDIA Container Toolkit バージョン 1.17.7 以前がインストールされている場合、Kubernetes バージョン 1.32 より前のクラスターに影響します。
予防策
脆弱性に完全にパッチが適用されるまで、システムのセキュリティと安定性を確保するために、クラスター内で信頼されていないコンテナイメージを実行しないことをお勧めします。次の方法を使用できます。
ACKAllowedRepos ポリシーを有効にして、信頼できるリポジトリのイメージを使用し、信頼できる担当者のみが最小権限の原則に基づいてイメージをインポートする権限を持っていることを確認します。詳細については、「ポリシーガバナンス機能を有効にする」をご参照ください。
クラスターに信頼できるイメージのみをデプロイする方法の詳細については、「Notation and Ratify を使用して OCI アーティファクトの署名と署名検証を行う」をご参照ください。
解決策
注意事項
修正は以下にのみ適用されます。
ACK マネージド Pro クラスター、ACK マネージド Basic クラスター、ACK 専用クラスター、および ACK Edge クラスター のクラウドノードプール
ACK Lingjun クラスター のマネージドノードプール。
Lingjun ノードプールを使用している ACK Lingjun クラスター の場合は、チケットを送信 してサポートを受けてください。
安定性を維持するために、オフピーク時にノードをバッチで修正します。すべてのノードを同時に修正しないでください。
説明この修正により、ノード上で実行中のアプリケーションポッドが再起動されます。
手順
新しい GPU アクセラレーションノード
この解決策は、Kubernetes 1.20 以降を実行しているクラスターにのみ適用されます。必要に応じて、クラスターをアップグレード してください。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
ターゲットノードプールを見つけて、[編集] をクリックします。[ノードプールの編集] ダイアログボックスで、
ack.aliyun.com/nvidia-container-runtime-version=1.17.8ノードラベルを追加し、[OK] をクリックします。説明このラベルは、ノードプールのスケーリング中に
nvidia-container-toolkitのバージョンを 1.17.8 にロックします。今後のツールキットのリリースでは、自動アップグレードはトリガーされません。新しいバージョンのツールキットを使用するには、このラベルを手動で削除します。新しくスケーリングされたノードは、デフォルトで最新バージョンになります。
既存の GPU アクセラレーションノード
Common Vulnerabilities and Exposures(CVE)修復スクリプトを実行して手動で修正します。