Azure CLI の深刻な脆弱性 CVE-2023-36052 が FIX:認証情報が漏洩する可能性

Microsoft fixes critical Azure CLI flaw that leaked credentials in logs

2023/11/14 BleepingComputer — Microsoft は、Azure CLI (Command-Line Interface) を介して作成された GitHub Actions/Azure DevOps のログから、攻撃者が認証情報を盗む可能性のある、深刻な脆弱性を修正した。この脆弱性 CVE-2023-36052 は、Palo Alto のセキュリティ研究者である Aviad Hahami により報告されたものである。認証されていない攻撃者が悪用に成功すると、Azure CLI により CI/CD (Continuous Integration and Continuous Deployment (CI/CD) ログに書き込まれた平文のコンテンツ対して、リモートからのアクセスが許されてしまう。


Microsoft は、「この脆弱性の悪用に成功した攻撃者は、影響を受ける CLIコマンドにより作成され、Azure DevOps/GitHub Actions により公開されたログ・ファイルから、平文のパスワードとユーザー名を復元できる」と説明している。

さらに同社は、「影響を受ける CLI コマンドを使用している顧客は、この脆弱性のリスクを排除するために、Azure CLI のバージョンを 2.53. 1 以上に更新する必要がある。この対処法は、Azure DevOps/GitHub Actions 介した CLI により、作成されたログファイルを用いる顧客にも適用される」と付け加えている。

Microsoft によると、最近において Azure CLI コマンドを使用した顧客に対しては、Azure ポータルを通じて通知が行われたという。今日に公開された MSRC のブログポストでは、すべての顧客に対して、最新の Azure CLI バージョン 2.54 へとアップデートするよう勧告されている。

また、CI/CD ログ内のシークレットの偶発的な暴露を防ぐために、以下の手順を踏むことが推奨されている:

  1. Azure CLI を最新のリリースに更新しておく。

  2. Azure CLI の出力を、ログなどのアクセス可能な場所に公開しないようにする: 出力値を必要とするスクリプトを作成する場合には、スクリプトに必要なプロパティをフィルタリングする。具体的に言うと、出力形式に関する Azure CLI の情報を確認し、環境変数をマスクするための推奨ガイダンスを実装する。

  3. キーとシークレットを定期的にローテーションする:一般的なベスト・プラクティスとして、顧客に対して推奨されるのは、環境に最適なかたちで、キーとシークレットを定期的にローテーションすることである。Azure におけるキーとシークレットの考慮事項に関するガイダンスは、ココを参照してほしい。

  4. Azure サービスのシークレット管理に関するガイダンスを確認する。

  5. GitHub Actions のセキュリティ強化に関しては、GitHub のベスト・プラクティスを確認する。

  6. GitHub リポジトリは、公開する必要がない限り、非公開に設定されていることを確認する。

  7. Azure Pipelines のセキュリティに関するガイダンスを確認する。

Microsoft は、機密情報の偶発的な漏洩を防止するために、セキュリティ対策を強化した新たな Azure CLI のデフォルト設定を実装した。更新された設定では、Web Apps や Functions を含む App Service ファミリ内の、サービスに関する更新コマンドにより生成される出力において、シークレットの提示が制限されるようになった。

ただし、この新しいデフォルトは、Azure CLI の最新バージョン 2.53.1 以上にアップデートした顧客に適用され、それ以前のバージョンである 2.53.0 以下では、依然として悪用される可能性がある。

さらに同社は、GitHub Actions/Azure Pipelines 全体で、クレデンシャルの再編集機能を拡張し、ビルド・ログ内の認識可能なキーパターンの数を増やし、それらを難読化した。Microsoft によると、新たな再編集機能のアップデートにより、同社が発行したキーは事前に検出され、不注意によるログへの流出が防止されるという。

Aviad Hahami は、「シークレットのエコーを回避する新しいリリースにより、CI パイプラインログ/開発者のマシン/ログアグリゲータでの漏洩が回避される。CI ランナーや開発者のマシンで使用されている、Azure CLI のバージョンを 2.54 に更新し、ログへのシークレット出力を防止することが推奨される」と述べている。