
Herramienta de evaluación de seguridad no destructiva para CVE-2026-73296, que verifica los límites de autenticación en servidores HTTP MCP móviles expuestos (puertos 8020/8021) para detectar posibles accesos no autorizados a dispositivos Android.
UFO-Vuln 💥
El acceso no autenticado a Mobile MCP puede exponer los datos de la pantalla de Android y proporcionar capacidades de control remoto de la interfaz de usuario a través de ADB.
Este repositorio está destinado únicamente a investigación de seguridad autorizada, validación de vulnerabilidades, pruebas defensivas y entornos de laboratorio controlados.
El verificador incluido está diseñado para realizar comprobaciones no destructivas del límite de autenticación.
No:
CVE: CVE-2026-73296
Producto: Microsoft UFO
Componente: Servidores HTTP Mobile MCP
Gravedad: Crítica
CVSS v3.1: 9.4
Versiones afectadas: <= v3.0.7
Versiones parcheadas oficialmente: Ninguna listada por el aviso de Microsoft UFO en el momento de esta documentación.
CWE:
La vulnerabilidad afecta a los servidores de recopilación de datos y acción Mobile MCP de UFO cuando se exponen a través de una red sin la autenticación adecuada.
El aviso oficial identifica la implementación vulnerable como:```text ufo/client/mcp/http_servers/mobile_mcp_server.py
Los servicios afectados exponen interfaces MCP HTTP Streamable que pueden interactuar con un dispositivo Android conectado mediante ADB.
Si los servicios son accesibles de forma remota y no se aplica autenticación, un cliente de red no autenticado podría acceder a información sensible del dispositivo e invocar funcionalidad de control de la interfaz de usuario de Android.
---
# 🎯 Resumen Ejecutivo
Microsoft UFO es un framework de agentes de IA diseñado para la automatización inteligente y la orquestación de múltiples dispositivos.
Su funcionalidad Mobile MCP proporciona servidores MCP para interactuar con dispositivos Android a través de ADB.
La configuración vulnerable expone dos servicios de red importantes:
| Servicio | Puerto | Función |
| --------------------------- | -------: | ---------------------------------- |
| Mobile Data Collection MCP | `8020` | Información de Android y datos de pantalla |
| Mobile Action MCP | `8021` | Interacción y control de Android |
En las versiones afectadas, los servidores Mobile MCP podían crearse sin un proveedor de autenticación ni una comprobación de autorización a nivel de solicitud.
En consecuencia:```text
Remote Client
│
│ HTTP / MCP
▼
┌──────────────────────┐
│ Mobile MCP Server │
│ │
│ Authentication: │
└──────────┬───────────┘
│
▼
ADB Interface
│
▼
Android Device
La frontera de seguridad entre el cliente de red remoto y la funcionalidad respaldada por ADB está, por tanto, insuficientemente protegida.
9.4 CRITICAL
Vector:```py
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
| Métrica | Valor |
|---|---|
| Vector de ataque | Red |
| Complejidad de ataque | Baja |
| Privilegios requeridos | Ninguno |
| Interacción del usuario | Ninguna |
| Alcance | Sin cambios |
| Confidencialidad | Alta |
| Integridad | Alta |
| Disponibilidad | Baja |
La vulnerabilidad es particularmente significativa porque la explotación no requiere inherentemente:
El aviso oficial indica que un cliente de red capaz de alcanzar el servicio expuesto puede inicializar una sesión MCP e invocar sus herramientas sin presentar una credencial.
Según el aviso de seguridad oficial de Microsoft UFO:```py Affected: <= v3.0.7
Patched: None listed
El repositorio oficial actualmente lista `3.0.7` como una versión publicada.
> **Importante:** No afirmes que `3.0.8` es una versión oficialmente parcheada a menos que Microsoft publique esa información. El aviso de seguridad oficial actualmente no lista ninguna versión parcheada.
---
# 🏗️ Arquitectura Vulnerable
La funcionalidad vulnerable está implementada en:```py
ufo/client/mcp/http_servers/mobile_mcp_server.py
Funciones importantes identificadas por el aviso oficial incluyen:
create_mobile_data_collection_server capture_screenshot get_ui_tree get_device_info get_mobile_app_target_info get_app_window_controls_target_info
### Acciones Móviles```py
create_mobile_action_server
tap
swipe
type_text
launch_app
press_key
click_control
Los dos servicios HTTP están asociados con:```py TCP/8020 TCP/8021
El aviso identifica específicamente estos servicios como los servidores MCP de recopilación de datos móviles y acción.
---
# 🔬 Causa raíz
El problema de seguridad fundamental es:```py
Powerful functionality
+
Network exposure
+
Missing authentication
=
Unauthorized access
En la implementación afectada, los servidores FastMCP de Mobile MCP se construyeron sin un proveedor de autenticación ni una aplicación equivalente de autorización a nivel de solicitud.
Conceptualmente:```python mcp = FastMCP( "Mobile MCP Server", host=host, port=port, )
El problema no es simplemente la existencia de MCP.
El problema es que una interfaz accesible por red expone operaciones sensibles para la seguridad sin exigir que quien la invoca establezca una identidad autenticada.
---
# 🔗 Flujo de ataque
Una cadena de ataque simplificada se ve así:```py
┌───────────────────┐
│ Unauthenticated │
│ Network Client │
└─────────┬─────────┘
│
│ HTTP
▼
┌─────────────────────────┐
│ Mobile MCP :8020/:8021 │
│ │
│ Authentication missing │
└───────────┬─────────────┘
│
│ MCP Tool
▼
┌─────────────────────────┐
│ Mobile MCP Tool │
└───────────┬─────────────┘
│
│ ADB operation
▼
┌─────────────────────────┐
│ Android Device / ADB │
└─────────────────────────┘
La transición de seguridad importante es:```py Unauthenticated network request ↓ MCP functionality ↓ ADB-backed action ↓ Android device
---
# 📡 Servicios Expuestos
## Puerto 8020 — Recopilación de Datos
El servidor de recopilación de datos puede exponer funcionalidad asociada con:```py
capture_screenshot
get_ui_tree
get_device_info
get_mobile_app_target_info
get_app_window_controls_target_info
La información potencialmente expuesta incluye: