Google Fixed Cloud Run Vulnerability Allowing Unauthorized Image Access via IAM Misuse
2025/04/02 TheHackerNews — Google Cloud Platform (GCP) Cloud Run の権限昇格の脆弱性の詳細を、サイバー・セキュリティ研究者たちが公開した。この、現在はパッチ適用済みの脆弱性を悪用する攻撃者には、コンテナ・イメージにアクセスし、悪意のコード挿入にいたる可能性があったとされる。

Tenable のセキュリティ研究者である Liv Matan は、「この脆弱性により、Google Cloud Runのリビジョン編集権限を特定の ID が悪用し、同じアカウントでプライベートな Google Artifact Registry/Google Container Registry のイメージを取得できた可能性がある」と、The Hacker Newsに共有されたレポートで述べている。
この、Tenable により ImageRunner と名付けられたセキュリティ上の欠陥は、Google に対して適切に開示され、2025年1月28日の時点で対処された。

Google Cloud Run は、スケーラブルなサーバーレス環境において、コンテナ化されたアプリケーションを実行するためのフルマネージド・サービスである。このテクノロジーを用いてサービスを実行すると、個々のコンテナ・イメージは Artifact Registry/Docker Hub から取得され、対象となるイメージ URL を指定した後に展開される。
問題となっているのは、コンテナ・レジストリ権限が与えられていないが、Google Cloud Run リビジョンの編集権限を持つ、特定の ID が存在するという事実である。
Cloud Run サービスがデプロイ/アップデートされるたびに、新しいバージョンが作成される。また、Cloud Run リビジョンがデプロイされるたびに、サービス・エージェント・アカウントを用いて必要なイメージがプルされる。
Liv Matan は、「攻撃者が被害者のプロジェクト内で特定の権限を、具体的には run.services.update 権限と iam.serviceAccounts.actAs 権限 を取得した場合には、Cloud Run サービスを変更して新しいリビジョンのデプロイが可能になる。その結果として、同じプロジェクト内の任意のプライベート・コンテナ・イメージを指定することで、対象となるサービスのプルが可能になる」と述べている。
さらに攻撃者は、被害者のレジストリに保存されている機密イメージや独自イメージにアクセスし、悪意の命令を取り込むことも可能になる。この命令を実行すると、シークレットの抽出/機密データの窃取に加えて、制御下にあるマシンへのリバース・シェルの展開などに悪用される可能性が生じる。
すでに Google は、パッチをリリースしており、Cloud Run リソースの作成/更新を試行するユーザー/サービス・アカウントに対して、コンテナ・イメージへの明示的なアクセス権限が付与されている。
2025年1月の Cloud Run のリリース・ノートには、「Cloud Run リソースを作成/更新するプリンシパル (ユーザー/サービス・アカウント) には、コンテナ・イメージへの明示的なアクセス権限が必要になった。Artifact Registry を使用する場合には、デプロイするコンテナ・イメージを取り込んだプロジェクトまたはリポジトリで、対象となるプリンシパルに Artifact Registry Reader (roles/artifactregistry.reader) IAM ロールが付与されていることを確認してほしい」と記されている。
Tenable は ImageRunner について、さまざまなクラウド・サービスの相互接続性により発生する、Jenga のインスタンスであると特徴づけており、セキュリティ・リスクが引き継いでしまう要因だと指摘している。
Liv Matan は、「クラウド・プロバイダーたちは、既存の他のサービスの上にサービスを構築していく。したがって、1つのサービスに攻撃や侵害が生じると、その上に構築される他のサービスも、そのリスクを引き継ぎ、同様の脆弱性を取り込むことになる。このシナリオを悪用する攻撃者は、新たな権限昇格の機会や、新たな脆弱性を発見する機会を得ることで、新たなリスクを防御側にもたらす」と指摘している。
先日には Praetorian が、低権限のプリンシパルが Azure VM を悪用して、Azure サブスクリプションの制御を奪うという、いくつかの方法が詳細に説明されている。その数週間後に、今回の情報開示が行われている。Azure VM の悪用の手順は、以下のとおりである:
- 管理マネージド ID に関連付けられた Azure VM でコマンドを実行。
- 管理マネージド ID に関連付けられた Azure VM にログイン。
- 既存の管理ユーザーが割り当てたマネージド ID を、既存の Azure VM に接続し、その VM でコマンドを実行。
- 新しい Azure VM を作成し、既存の管理マネージド ID を接続し、データ・プレーン・アクションを介して、対象となる VM でコマンドを実行。
セキュリティ研究者である Andrew Chang と Elgin Lee は、「すべてのサブスクリプション・リソースに対する広範な制御を悪用する攻撃者は、サブスクリプションの所有者ロールを取得した後に、Entra ID テナントへの権限昇格パスを見つけ出す機会を手にする。このパスは、Entra ID 権限を持つサービス・プリンシパルを対象とし、被害者のサブスクリプション内のコンピューティング・リソースを標的とする。それにより、グローバル管理者へと権限をエスカレートさせる可能性もある」と述べている。
IAM (Identity and Access Management) のミスコンフィグは、思わぬ形で攻撃者にアクセスのチャンスを与えてしまうことがあります。特にクラウド環境では、細かな権限の管理が重要であり、設定の定期的な見直しや監査が欠かせません。よろしければ、以下の関連記事も、Google Cloud で検索と併せて、ご参照下さい。
2024/11/13:Google Cloud がクラウド脆弱性への CVE 割当を開始
2024/11/05:Google Cloud の MFA 義務化:2025 年末に完了予定
2024/10/30:Google Cloud の ID:デフォルト・アカウントは危険
You must be logged in to post a comment.