レガシーコンポーネントの致命的な組み合わせにより、世界中のあらゆる企業のMicrosoft Entra IDテナントへの完全なアクセスが可能になっていた可能性があります。
この致命的な組み合わせには、「アクタートークン」と呼ばれる非公開のトークンと、Azure AD Graph API(CVE-2025-55241)に存在した脆弱性が含まれており、これによりどの組織のEntra ID環境でもトークンが機能するようになっていました。
この問題を悪用した攻撃者は、ターゲットとなった環境のログに自分自身の行動以外の痕跡を残すことなく、非常に機密性の高いデータに大量にアクセスできてしまいます。
Entra IDは、以前はAzure Active Directory(Azure AD)として知られていたMicrosoftのクラウドベースのIDおよびアクセス管理(IAM)サービスであり、組織にシングルサインオン、多要素認証、アプリやリソース全体のセキュリティ制御を提供します。
専用のEntra IDインスタンスは1つの組織を表し、オンプレミスおよびクラウドベースのすべてのアプリへの安全なアクセスを管理します。
これには、Microsoft 365サービスや、Salesforce、DropboxなどのカスタムおよびサードパーティのSaaS製品、Google、Amazon、SAPのクラウドアプリなどが含まれます。
オフェンシブセキュリティ企業Outsider Securityの創設者であるセキュリティ研究者Dirk-jan Mollema氏は、すべてのEntra IDテナントでグローバル管理者権限を得ることができるトークン検証の不具合を発見しました。
このレベルのアクセス権を持つことで、テナント全体の乗っ取りが可能となり、Entra IDを通じて認証されるあらゆるサービスへの扉が開かれます。
テナント内の任意のユーザーになりすます
Mollema氏は技術的なブログ記事の中で、アクタートークンはAccess Control Serviceというレガシーサービスによって発行されており、「これはSharePointアプリケーションの認証に使われているほか、Microsoft内部でも利用されているようだ」と説明しています。
同氏はハイブリッドExchangeのセットアップを調査中にアクタートークンを発見しました。Exchangeがユーザーの代理で他のサービスと通信する際にこれらを要求していることに気づいたのです。
「アクタートークンは、Exchange OnlineやSharePoint、そして結果的にAzure AD Graphと通信する際に、テナント内の別のユーザーとして“振る舞う”ことを可能にします」 – Dirk-jan Mollema
アクタートークンは署名されていないため、テナント内の任意のユーザーになりすますことができ、有効期間は24時間で、この間に取り消すことはできません。
Mollema氏は「このアクタートークンの設計自体が本来存在すべきではなかった」とし、その理由として以下のような適切なセキュリティ制御が欠如している点を挙げています:
- アクタートークンが発行された際にログが残らない
- これらのサービスはEntra IDと通信せずに署名なしのなりすましトークンを作成できるため、作成や使用時にもログが残らない
- 24時間の有効期間中は取り消すことができない
- 条件付きアクセスで設定された制限を完全に回避できる
- テナントでこれらのトークンが使われたことを知るにはリソースプロバイダー側のログに頼るしかない
研究者によれば、Microsoftは社内のサービス間通信にアクタートークンを利用しており、今後これを廃止する予定だとしています。
Microsoftはこれらを「高特権アクセス(HPA)」と呼び、アプリケーションやサービスが「ユーザーコンテキストの証明なしに他のユーザーになりすますことを可能にする」と説明しています。
Mollema氏はアクタートークンの利用方法を複数試す中で、トークンを発行したものとは異なるテナントIDに書き換え、廃止予定のAzure AD Graph API(graph.windows.net)に送信し、「アクセス拒否」メッセージが返ることを期待しました。
しかし、研究者が見たエラーは、トークン自体は有効だが、そのテナントにユーザーのIDが見つからないため認証されなかったことを示していました。

出典: Dirk-jan Mollema
Mollema氏は今度はターゲットテナントの有効なユーザーIDで試したところ、Azure AD Graph APIが要求されたデータを返しました。
「自分がアクセスできる他のテストテナントでも何度か試してみましたが、確かにテナントID(これは公開情報)とそのテナント内のユーザーのnetIdさえ知っていれば、他のテナントのデータにもアクセスできました。」
同じアクタートークンを使い、研究者はターゲットテナントのグローバル管理者になりすまし、その役割に関連するすべての操作(異なる役割のユーザーの管理・作成、設定変更、パスワードリセット、管理者の追加など)を実行できました。
Mollema氏は、グローバル管理者権限を取得するための一連の操作のいずれも、被害者テナントにはログが残らなかったことを強調しています。
攻撃者の視点から見ると、これらの問題を悪用する手順は数ステップで実行可能で、まずは自分が管理するテナントからアクタートークンを生成することから始まります:
- ターゲット環境のテナントIDは、ドメイン名から公開APIで取得可能
- ターゲットテナント内の通常ユーザーの有効なnetIdを探す
- 攻撃者テナントのアクタートークンを使い、被害者テナントのテナントIDとユーザーのnetIdでなりすましトークンを作成
- テナント内の全グローバル管理者とそのnetIdをリストアップ
- グローバル管理者用のなりすましトークンを作成
- Azure AD Graph APIを通じて任意の読み書き操作を実行
Mollema氏は、被害者テナントで記録されるのは最後のステップでの活動のみだと指摘しています。
なお、Microsoftは昨年9月にAzure AD Graph APIサービスの廃止プロセスを開始しています。
今年6月末、同社は拡張アクセスが設定されているがAzure AD Graphを使い続けているアプリは、2025年9月初旬以降APIを利用できなくなると警告しました。
Mollema氏は7月14日にこの問題をMicrosoftに報告し、同社は9日後に問題が解決されたことを確認しました。
9月4日、MicrosoftはCVE-2025-55241にもパッチを適用し、Azure Entraの重大な権限昇格の脆弱性として説明しました。