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管理の値を確認してから上げる。