Microsoftのエージェント型自動化フレームワーク「UFO」に重大な脆弱性が見つかり、Android端末が未認証のまま完全に乗っ取られる恐れがあることが判明しました。
CVE-2026-73296として追跡されているこの脆弱性は、CVSSスコア9.4と評価されており、v3.0.7以下のすべてのUFOバージョンに影響します。現時点でパッチは提供されていません。
この脆弱性は、Mobile MCP(Model Context Protocol)の実装であるufo/client/mcp/http_servers/mobile_mcp_server.py内に存在します。ここでは、データ収集用サーバー(ポート8020)とアクション実行用サーバー(ポート8021)という2つのStreamable HTTPサーバーが、認証プロバイダーや認可チェックを一切設けずに構築されています。
Microsoftが公式に文書化しているリモート構成、つまりこれらのサービスを0.0.0.0にバインドする設定でデプロイした場合、当該ポートに到達できるネットワーククライアントであれば誰でも、APIキーやセッショントークン、ユーザーの承認なしにMCPセッションを開始し、ADBを利用したツールを呼び出せてしまいます。
リクエストがサーバーに到達すると、何のチェックも経ずにそのまま特権のあるADBサブプロセス呼び出しへと流れ込みます。
データ窃取の面では、攻撃者はcapture_screenshot、get_ui_tree、get_device_infoなどの関連機能を呼び出すことで、画面内容やUI階層、インストール済みアプリ、端末のメタデータを外部に流出させることができます。
操作面では、tap、swipe、type_text、launch_app、press_key、click_controlといった機能を使うことで、攻撃者は接続されたAndroid端末に任意の入力イベントを注入できてしまいます。
研究者のrhmsd氏はこれを実証しました。実際のADBバイナリを、マーカー書き込み用のテストヘルパーに置き換えるという概念実証を行った結果、未認証のtap(17, 29)呼び出しが受理され、偽のシンクに到達したことが確認されました。これはresult=CallToolResult(...{"success":true,"action":"tap(17, 29)"}...)という出力からも裏付けられています。
CVSSベクターAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Lは、ネットワーク経由で悪用可能かつ攻撃条件が低複雑度であり、権限もユーザーの操作も一切必要としないことを示しています。この問題はCWE-306(重要な機能に対する認証の欠如)およびCWE-862(認可の欠如)に分類されます。
現時点で公式パッチは存在していません。ただし、UFO_MCP_API_KEYによる高エントロピーのベアラートークン、定数時間比較、そしてフェイルクローズ方式の起動処理を要求する独自の修正版は検証済みであるものの、まだ本家にはマージされていません。
上流のパッチが提供されるまでの間、非ループバックインターフェース上でMobile MCPサーバーを公開している運用者は、ローカルホストへのバインドに戻し、サービスをTLSの背後に配置した上で、認証付きリバースプロキシまたはプライベートトンネルを利用することが推奨されます。デフォルトのCLIバインディングは引き続きlocalhostであるため、未改変のデプロイメントであれば露出は限定的です。
不審な活動をより迅速に調査し、事業への影響が拡大する前に脅威を封じ込めるための可視性とコンテキストを、貴社のセキュリティチームに提供しましょう。ANY.RUNで調査体制を強化する
翻訳元: https://cyberpress.org/critical-microsoft-ufo-mcp-flaw/