Kanister の脆弱性 CVE-2024-43403 が FIX:Kubernetes クラスタの乗っ取りにいたる?

CVE-2024-43403: Kanister Vulnerability Opens Door to Cluster-Level Privilege Escalation

2024/08/21 SecurityOnline — 人気のデータ・プロテクション・ワークフロー管理ツール Kanister に、深刻な脆弱性 CVE-2024-43403 が発見され、攻撃者による Kubernetes クラスタの完全な制御にいたるという可能性が生じている。この脆弱性は、UMN の PostDoc である Nanzi Yang により発見された。


この問題のコアは、”edit” と呼ばれる、Kubernetes “ClusterRole” に関連する default-kanister-operator デプロイメントに存在する。この “ClusterRole” は、Kubernetes のデフォルト・ロールの1つであり、”daemonset” リソースの create/patch/update および、サービス・アカウント・トークンの作成や、サービス・アカウント・ロールなどの権限が設定されている。

したがって、悪意のユーザーが default-kanister-operator をホストするワーカーノードにアクセスすると、いくつかの方法により、この脆弱性が悪用されるという可能性が生じる:

  • Daemonset Resource の操作:”daemonset” リソースの動詞である create/patch/update を悪用する攻撃者は、”cluster-admin” サービス・アカウントなどの高権限サービス・アカウントをマウントするための、Pod セットの作成/変更が可能になる。それにより、攻撃者はサービス・アカウント・トークンを使用して、クラスタ全体を制御できるようになる。
  • Service Account Token の作成:“editClusterRole” はサービス・アカウント・トークンの作成も許可する。したがって脅威アクターは、高特権のロールを持つ新しいトークンを生成し、それらを使用してクラスタ内の任意のリソースを操作し、さらに制御をエスカレートさせることが可能となる。
  • Impersonation of High-Privilege Accounts: サービス・アカウントへのなりすまし (ロール?) がサポートされているため、”cluster-admin” などの高権限アカウント ID への、攻撃者によるなりすましが可能になる。それにより、Kubernetes 環境内の重要なリソースの作成/変更/削除するなどのアクションを実行する、フルアクセスが許可されてしまう。

この脆弱性 CVE-2024-43403 が放置されると、Kubernetes クラスタの完全な乗っ取りにいたる可能せいが生じるため、潜在的な影響は深刻となる。ワーカーノードからクラスタ全体のスコープへと特権をエスカレートさせる能力は、Kanister に依存するKubernetes 環境の完全性とセキュリティに対して深刻な脅威をもたらす。

すでに Kanister プロジェクトはセキュリティ・アドバイザリを発行し、この脆弱性の修正を取り込んだ最新バージョンへのアップデートをユーザーに促している。Kanisterを使用している組織にとって極めて重要なことは、このアップデートを直ちに適用し、潜在的な攻撃から Kubernetes 環境を保護することだ。