
Неразрушающий инструмент оценки безопасности для CVE-2026-73296, проверяющий границы аутентификации на открытых HTTP-серверах Mobile MCP (порты 8020/8021) для выявления потенциального несанкционированного доступа к Android-устройствам.
UFO-Vuln 💥
Неаутентифицированный доступ к Mobile MCP может раскрывать данные экрана Android и предоставлять возможности удалённого управления интерфейсом через ADB.
Данный репозиторий предназначен исключительно для авторизованных исследований в области безопасности, валидации уязвимостей, защитного тестирования и контролируемых лабораторных сред.
Включённый проверщик предназначен для выполнения неразрушающих проверок границ аутентификации.
Он не:
CVE: CVE-2026-73296
Продукт: Microsoft UFO
Компонент: Mobile MCP HTTP-серверы
Серьёзность: Критическая
CVSS v3.1: 9.4
Затронутые версии: <= v3.0.7
Официально исправленные версии: На момент составления данной документации в рекомендациях Microsoft UFO не указано ни одной.
CWE:
Уязвимость затрагивает серверы сбора данных и действий Mobile MCP в UFO, когда они доступны по сети без соответствующей аутентификации.
Официальная рекомендация определяет уязвимую реализацию как:```text ufo/client/mcp/http_servers/mobile_mcp_server.py
Затронутые сервисы предоставляют интерфейсы MCP Streamable HTTP, которые могут взаимодействовать с Android-устройством, подключённым через ADB.
Если сервисы доступны удалённо и аутентификация не включена, неаутентифицированный сетевой клиент может получить доступ к конфиденциальной информации об устройстве и вызывать функции управления UI Android.
---
# 🎯 Краткое резюме
Microsoft UFO — это фреймворк AI-агентов, предназначенный для интеллектуальной автоматизации и оркестрации нескольких устройств.
Его функциональность Mobile MCP предоставляет MCP-серверы для взаимодействия с Android-устройствами через ADB.
Уязвимая конфигурация открывает доступ к двум важным сетевым сервисам:
| Сервис | Порт | Функция |
| ----------------------------- | -----: | ----------------------------------- |
| MCP сбора данных с мобильных | `8020` | Информация об Android и данные экрана |
| MCP действий на мобильных | `8021` | Взаимодействие с Android и управление |
В затронутых версиях MCP-серверы Mobile могли создаваться без провайдера аутентификации или проверки авторизации на уровне запроса.
Следовательно:```text
Remote Client
│
│ HTTP / MCP
▼
┌──────────────────────┐
│ Mobile MCP Server │
│ │
│ Authentication: │
└──────────┬───────────┘
│
▼
ADB Interface
│
▼
Android Device
Граница безопасности между удалённым сетевым клиентом и функциональностью на базе ADB, таким образом, защищена недостаточно.
9.4 CRITICAL
Вектор:```py
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
| Метрика | Значение |
|---|---|
| Вектор атаки | Сеть |
| Сложность атаки | Низкая |
| Требуемые привилегии | Нет |
| Взаимодействие с пользователем | Нет |
| Область воздействия | Без изменений |
| Конфиденциальность | Высокая |
| Целостность | Высокая |
| Доступность | Низкая |
Уязвимость особенно значима, поскольку эксплуатация по своей сути не требует:
В официальном уведомлении указано, что сетевой клиент, способный получить доступ к открытой службе, может инициализировать сеанс MCP и вызывать её инструменты без предъявления учётных данных.
Согласно официальному уведомлению Microsoft о безопасности UFO:```py Affected: <= v3.0.7
Patched: None listed
Официальный репозиторий в настоящее время указывает `3.0.7` как релиз.
> **Важно:** Не утверждайте, что `3.0.8` является официально исправленным релизом, если Microsoft не опубликует эту информацию. Официальный бюллетень безопасности в настоящее время не указывает исправленную версию.
---
# 🏗️ Уязвимая архитектура
Уязвимая функциональность реализована в:```py
ufo/client/mcp/http_servers/mobile_mcp_server.py
Важные функции, определённые в официальном уведомлении, включают:
create_mobile_data_collection_server capture_screenshot get_ui_tree get_device_info get_mobile_app_target_info get_app_window_controls_target_info
### Mobile Actions```py
create_mobile_action_server
tap
swipe
type_text
launch_app
press_key
click_control
Два HTTP-сервиса связаны с:```py TCP/8020 TCP/8021
Консультация конкретно определяет эти сервисы как MCP-серверы для сбора мобильных данных и выполнения действий.
---
# 🔬 Корневая причина
Фундаментальная проблема безопасности заключается в следующем:```py
Powerful functionality
+
Network exposure
+
Missing authentication
=
Unauthorized access
На затронутой реализации серверы Mobile MCP FastMCP были созданы без провайдера аутентификации или эквивалентного принудительного контроля авторизации на уровне запросов.
Концептуально:```python mcp = FastMCP( "Mobile MCP Server", host=host, port=port, )
Проблема не просто в существовании MCP.
Проблема в том, что сетевой интерфейс предоставляет доступ к операциям, чувствительным с точки зрения безопасности, без требования к вызывающей стороне установить аутентифицированную личность.
---
# 🔗 Цепочка атаки
Упрощённая цепочка атаки выглядит так:```py
┌───────────────────┐
│ Unauthenticated │
│ Network Client │
└─────────┬─────────┘
│
│ HTTP
▼
┌─────────────────────────┐
│ Mobile MCP :8020/:8021 │
│ │
│ Authentication missing │
└───────────┬─────────────┘
│
│ MCP Tool
▼
┌─────────────────────────┐
│ Mobile MCP Tool │
└───────────┬─────────────┘
│
│ ADB operation
▼
┌─────────────────────────┐
│ Android Device / ADB │
└─────────────────────────┘
Важный переход безопасности:```py Unauthenticated network request ↓ MCP functionality ↓ ADB-backed action ↓ Android device
# 📡 Открытые сервисы
## Порт 8020 — Сбор данных
Сервер сбора данных может предоставлять функциональность, связанную с:```py
capture_screenshot
get_ui_tree
get_device_info
get_mobile_app_target_info
get_app_window_controls_target_info
Потенциально раскрываемая информация включает: