本文へスキップ
MameTechNews
バックエンド

HashiCorp、Consul on KubernetesのACLが名前空間を越える

## POINTS

  • 影響はglobal.acls.manageSystemACLs=trueのときだけで、ACL管理を切ったConsul on Kubernetesは告示の対象外だ。
  • 攻撃には、別名前空間でのServiceAccount作成とそのトークン取得に加え、Consul APIへのネットワーク到達が要る。
  • 修正版は2.1.0と1.8.18だ。管理ACLを有効にしたクラスタから、Consul APIへ届く範囲を見て更新する。

HashiCorpは10月26日、セキュリティ告示HCSEC-2026-50を公開した。対象はconsul-k8s 0.42.0以上、2.0.4までで、修正版は2.1.0と1.8.18だ。識別子はCVE-2026-110720である。

システムACL管理を有効にすると、consul-k8sはKubernetes認証とConsulのACLバインディング規則を設定し、コンポーネントがConsulトークンを取得できるようにする。規則は、そのコンポーネントのServiceAccountを対応するConsulロールへ結び付ける想定だった。

実際には、認証をConsulをデプロイしたKubernetes名前空間のServiceAccountへ一貫して限定していなかった。別の名前空間でServiceAccountを作り、そのトークンを取得でき、さらにConsul APIへネットワークで届く攻撃者は、コンポーネントとして認証し、紐づく権限を得られる可能性がある。

影響があるのはglobal.acls.manageSystemACLs=trueの構成だけだ。システムACL管理を無効にしたデプロイは、この欠陥の対象ではない。HashiCorpは、リスクを評価したうえで2.1.0または1.8.18への更新を検討するよう求めている。報告者はElias Hasas氏(GitHubのzer0d4y5)だ。

利用者にServiceAccountの作成を許しているマルチテナントのクラスタでは、名前の一致だけでコンポーネントのConsul権限へ届き得る。名前空間の分離を認可境界にしている場合は、HelmのACL管理の値を確認してから上げる。