AWSおよびGoogle CloudのCLIツールに情報漏洩の脆弱性、ユーザーの対策が必要
Orca Securityは4月16日(米国時間)、「LeakyCLI: AWS & Google Cloud Command Line Tools|Orca Security」において、Amazon Web Services(AWS)およびGoogle Cloudのコマンドラインツールに、認証情報を漏洩する可能性のある脆弱性を発見したと報じた。
これらツールはビルドログ内に環境変数を出力することがあり、認証情報を環境変数に設定するとビルドログに認証情報が保存される。これを知らずにビルドログを公開または共有すると認証情報を漏洩することになる。
LeakyCLI: AWS & Google Cloud Command Line Tools|Orca Security
○脆弱性「LeakyCLI」の概要
Orca Securityはこの脆弱性を「LeakyCLI」と名付け、その影響をGitHub上にて調査している。Orca Securityによると、AWSの環境変数に含まれる機密情報とみなせる情報は数十件の公開プロジェクトから発見され、Google Cloudからも発見されたという。
GitHubアクション経由の漏洩の例 引用:Orca Security
○Microsoft Azureにも同様の脆弱性発見の過去
Microsoft Azureのコマンドラインツール(Azure CLI)においても過去同様の問題が発見されている。Microsoftは脆弱性「CVE-2023-36052」として認識し、セキュリティアップデートを公開している(参考:「CVE-2023-36052 - セキュリティ更新プログラム ガイド - Microsoft - Azure CLI REST コマンドの情報漏えいの脆弱性」)。
○対策
AmazonおよびGoogleはいずれもこの動作を「予想された動作」として積極的に修正する予定はないとしている。Amazonは影響を軽減するために、ユーザーに次の対策の実施を推奨している。
サーバーレスリソースの機密情報保存に環境変数を使用しない。代わりにサーバーレスコードはクラウドサービスプロバイダー(CSP: Cloud Service Provider)のシークレットストア(AWS Secrets Managerなど)から情報を取得するようにする
ビルドログの内容を検査し、機密情報が含まれていないことを確認する。コマンド出力を「/dev/null」にパイプする手法を検討する
ビルドログにアクセスできるユーザーを適切に制限する
Googleは影響を軽減するために、ユーザーに次の対策の実施を推奨している。
「-no-user-output-enabled」フラグを使用して出力を抑制する
gcloudデプロイコマンドに組み込まれている「Secrets Manager(-set-secretsおよび-update-secrets)」を使用して認証情報を保存する(参考:「シークレットを構成する | Google Cloud Functions に関するドキュメント」)
この脆弱性は修正される予定がないため、注意してコマンドを利用する必要がある。Orca Securityは各ベンダーが提供した上記対策に従い利用することを推奨している。
これらツールはビルドログ内に環境変数を出力することがあり、認証情報を環境変数に設定するとビルドログに認証情報が保存される。これを知らずにビルドログを公開または共有すると認証情報を漏洩することになる。
○脆弱性「LeakyCLI」の概要
Orca Securityはこの脆弱性を「LeakyCLI」と名付け、その影響をGitHub上にて調査している。Orca Securityによると、AWSの環境変数に含まれる機密情報とみなせる情報は数十件の公開プロジェクトから発見され、Google Cloudからも発見されたという。
GitHubアクション経由の漏洩の例 引用:Orca Security
○Microsoft Azureにも同様の脆弱性発見の過去
Microsoft Azureのコマンドラインツール(Azure CLI)においても過去同様の問題が発見されている。Microsoftは脆弱性「CVE-2023-36052」として認識し、セキュリティアップデートを公開している(参考:「CVE-2023-36052 - セキュリティ更新プログラム ガイド - Microsoft - Azure CLI REST コマンドの情報漏えいの脆弱性」)。
○対策
AmazonおよびGoogleはいずれもこの動作を「予想された動作」として積極的に修正する予定はないとしている。Amazonは影響を軽減するために、ユーザーに次の対策の実施を推奨している。
サーバーレスリソースの機密情報保存に環境変数を使用しない。代わりにサーバーレスコードはクラウドサービスプロバイダー(CSP: Cloud Service Provider)のシークレットストア(AWS Secrets Managerなど)から情報を取得するようにする
ビルドログの内容を検査し、機密情報が含まれていないことを確認する。コマンド出力を「/dev/null」にパイプする手法を検討する
ビルドログにアクセスできるユーザーを適切に制限する
Googleは影響を軽減するために、ユーザーに次の対策の実施を推奨している。
「-no-user-output-enabled」フラグを使用して出力を抑制する
gcloudデプロイコマンドに組み込まれている「Secrets Manager(-set-secretsおよび-update-secrets)」を使用して認証情報を保存する(参考:「シークレットを構成する | Google Cloud Functions に関するドキュメント」)
この脆弱性は修正される予定がないため、注意してコマンドを利用する必要がある。Orca Securityは各ベンダーが提供した上記対策に従い利用することを推奨している。