すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:脆弱性 CVE-2022-31030

最終更新日:May 29, 2025

containerd コミュニティは最近、containerd の Container Runtime Interface(CRI)実装に関連する脆弱性 CVE-2022-31030 を発見しました。この脆弱性により、コンテナー内のプログラムが ExecSync API の呼び出し中に無制限にメモリを消費できるようになり、その結果、コンテナーが実行されているノードの利用可能なすべてのメモリを containerd が消費する原因となります。攻撃者はこの脆弱性を悪用して DoS 攻撃を開始できます。DoS 攻撃は、システムが exec メカニズムを使用してプローブまたはライフサイクルフックを実行するときに開始できます。

CVE-2022-31030 は、中程度の重大度と評価されています。

初回公開日:2022 年 7 月 5 日
更新日:2025 年 5 月 19 日(影響を受ける範囲の説明を絞り込み)

影響を受ける範囲

以下の containerd バージョンが影響を受けます。

  • ≤ V1.5.12

  • v1.6.0 - v1.6.5

この脆弱性は、以下の containerd バージョンで修正されています。

  • v1.5.13

  • v1.6.6

説明

containerd ランタイムを使用するノードプール内のノードのみがこの脆弱性の影響を受けます。

この脆弱性の詳細については、「CVE-2022-31030」をご参照ください。

軽減

クラスター内の既存ノードの containerd バージョンを更新し、信頼できないユーザーからのアプリケーションのデプロイ権限を取り消すには、次の操作を実行します。

  1. kubectl drain コマンドを実行して、更新する必要があるノードをドレインします。

  2. systemctl stop kubelet コマンドを実行して、ノード上の kubelet を停止します。

  3. systemctl stop containerd コマンドを実行して、ノード上の containerd を停止します。

  4. containerd の最新の RPM パッケージをインストールします。

  5. systemctl start containerd コマンドを実行して、containerd を起動します。

  6. systemctl start kubelet コマンドを実行して、kubelet を起動します。

  7. ノードの containerd バージョンを更新した後、kubectl uncordon コマンドを実行して、ノードをスケジュール可能状態に変更します。

  8. 他のノードの containerd バージョンを更新する場合は、手順 2 以降の手順を繰り返します。