AWS/Google/Azure の CLI ツールの脆弱性:ビルド・ログから認証情報が漏えいする恐れ

AWS, Google, and Azure CLI Tools Could Leak Credentials in Build Logs

2024/04/16 TheHackerNews — Amazon Web Services (AWS) と Google Cloud の CLI (command-line interface) ツールを悪用することで、ビルド・ログに機密情報を漏えいさせ、組織に重大なリスクをもたらすという問題が、新たなサイバーセキュリティ調査で判明した。この脆弱性は、クラウドセキュリティ企業の Orca により、LeakyCLI と命名されている。


セキュリティ研究者の Roi Nisimi は、「Azure/AWS/Google Cloud の一部の CLI コマンドには、環境変数のかたちで、機密情報を漏えいさせるという脆弱性が存在する。それらの情報が、GitHub Actions などのツールにより公開されると、攻撃者に窃取される可能性がある」と、The Hacker News と共有したレポートで述べている。

この脆弱性に対して Microsoft は、2023年11月にリリースされたセキュリティ・アップデートの一環で対処し、CVE-2023-36052 (CVSS:8.6) を割り当てた。

この問題は、端的に言えば、CLI コマンドを使用して (事前に) 定義された環境変数を表示し、CI/CD (Continuous Integration and Continuous Deployment) のログに出力する方法に関係している。AWS と Google Cloud にまたがる、この種のコマンドのリストは、以下の通りである:

  • aws lambda get-function-configuration
  • aws lambda get-function
  • aws lambda update-function-configuration
  • aws lambda update-function-code
  • aws lambda publish-version
  • gcloud functions deploy <func> –set-env-vars
  • gcloud functions deploy <func> –update-env-vars
  • gcloud functions deploy <func> –remove-env-vars

Github Actions/CircleCI/TravisCI/Cloud Build などのログを通じて、アクセストークンなどの機密データを流出させていたものが、GitHub 上のプロジェクトで、いくつか発見されたと Orca は指摘している。

Credentials in Build Logs
Credentials in Build Logs


しかし Amazon と Google は、Microsoft とは異なり、これを予期される行動とみなし、ユーザー組織に対しては、環境変数にシークレットを保存しないよう対策を講じるべきだとしている。また、環境変数の代わりとして、AWS Secrets Manager や Google Cloud Secret Manager などの、専用のシークレット・ストア・サービスを使用するよう求めている。

さらに Google は、ターミナルの標準出力と、標準エラーへのコマンド出力を抑制する “–no-user-output-enabled” オプションの使用を推奨している。

Nisimi は、「攻撃者が、これらの環境変数を入手した場合には、パスワード/ユーザー名/キーなどの機密情報が閲覧され、リポジトリの所有者がアクセス可能な各種のリソースへの、アクセスを獲得する可能性がある。CLI コマンドは、デフォルトでは安全な環境で実行されていると想定されているが、CI/CD パイプラインと相まって、セキュリティ上の脅威となる可能性がある」と述べている。