
CVE-2026-73296에 대한 비파괴적 보안 평가 도구로, 노출된 Mobile MCP HTTP 서버(포트 8020/8021)의 인증 경계를 점검하여 잠재적인 무단 Android 기기 접근을 탐지합니다.
UFO-Vuln 💥
인증되지 않은 Mobile MCP 접근으로 Android 화면 데이터가 노출될 수 있으며, ADB를 통한 원격 UI 제어 기능이 제공될 수 있습니다.
이 저장소는 공인된 보안 연구, 취약점 검증, 방어적 테스트 및 통제된 실험실 환경에서만 사용하도록 제작되었습니다.
포함된 검사 도구는 비파괴적 인증 경계 검사를 수행하도록 설계되었습니다.
다음 작업을 수행하지 않습니다:
CVE: CVE-2026-73296
제품: Microsoft UFO
구성 요소: Mobile MCP HTTP 서버
심각도: 치명적(Critical)
CVSS v3.1: 9.4
영향을 받는 버전: <= v3.0.7
공식 패치 버전: 본 문서 작성 시점 기준 Microsoft UFO 권고에 명시된 패치 버전 없음.
CWE:
이 취약점은 UFO의 Mobile MCP 데이터 수집 및 액션 서버가 적절한 인증 없이 네트워크에 노출될 때 발생합니다.
공식 권고는 취약한 구현을 다음과 같이 식별합니다:```text ufo/client/mcp/http_servers/mobile_mcp_server.py
영향을 받는 서비스는 ADB에 연결된 Android 기기와 상호작용할 수 있는 Streamable HTTP MCP 인터페이스를 노출합니다.
서비스가 원격으로 접근 가능하고 인증이 적용되지 않는 경우, 인증되지 않은 네트워크 클라이언트가 민감한 기기 정보에 접근하고 Android UI 제어 기능을 호출할 수 있습니다.
---
# 🎯 핵심 요약
Microsoft UFO는 지능형 자동화와 다중 기기 오케스트레이션을 위해 설계된 AI 에이전트 프레임워크입니다.
해당 프레임워크의 Mobile MCP 기능은 ADB를 통해 Android 기기와 상호작용하기 위한 MCP 서버를 제공합니다.
취약한 구성은 두 가지 중요한 네트워크 서비스를 노출합니다:
| 서비스 | 포트 | 기능 |
| -------------------------- | -----: | ----------------------------------- |
| Mobile Data Collection MCP | `8020` | Android 정보 및 화면 데이터 |
| Mobile Action MCP | `8021` | Android 상호작용 및 제어 |
영향을 받는 버전에서는 Mobile MCP 서버가 인증 제공자 또는 요청 수준 권한 부여 검사 없이 생성될 수 있습니다.
결과적으로:```text
Remote Client
│
│ HTTP / MCP
▼
┌──────────────────────┐
│ Mobile MCP Server │
│ │
│ Authentication: │
└──────────┬───────────┘
│
▼
ADB Interface
│
▼
Android Device
원격 네트워크 클라이언트와 ADB 기반 기능 사이의 보안 경계가 따라서 충분히 보호되지 않습니다.
9.4 CRITICAL
Vector:```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`을 릴리스로 등재하고 있습니다.
> **중요:** Microsoft가 해당 정보를 공개하지 않는 한 `3.0.8`이 공식적으로 패치된 릴리스라고 주장하지 마십시오. 공식 보안 권고에는 현재 패치된 버전이 등재되어 있지 않습니다.
---
# 🏗️ 취약한 아키텍처
취약한 기능은 다음에 구현되어 있습니다:```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
### 모바일 작업```py
create_mobile_action_server
tap
swipe
type_text
launch_app
press_key
click_control
두 HTTP 서비스는 다음 항목과 연결됩니다:```py TCP/8020 TCP/8021
The advisory specifically identifies these services as the Mobile data-collection and action MCP servers.
---
# 🔬 근본 원인
근본적인 보안 문제는 다음과 같습니다:```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
잠재적으로 노출될 수 있는 정보는 다음과 같습니다:
이는 심각한 기밀성 위험을 초래합니다.
액션 서버는 다음과 관련된 기능을 노출합니다:```text tap swipe type_text launch_app press_key click_control
이러한 작업은 원격 호출자에게 Android UI 상호작용 기능을 제공할 수 있습니다.
기기 상태와 접근 가능한 애플리케이션에 따라, 이는 잠재적으로 다음을 허용할 수 있습니다:```text
Remote input
↓
UI navigation
↓
Application interaction
↓
Device-state modification
공식 권고는 이러한 기능을 원격으로 주입 가능한 Android UI 작업으로 구체적으로 설명합니다.
화면 및 UI 정보에 대한 무단 액세스는 잠재적으로 다음을 노출할 수 있습니다:
정확한 영향은 연결된 ADB 환경을 통해 액세스할 수 있는 Android 기기 및 애플리케이션에 따라 달라집니다.
무단 모바일 작업을 통해 공격자는 다음을 수행할 수 있습니다:```text Tap Swipe Type text Press keys Launch applications Click UI controls
이로 인해 애플리케이션 상태가 수정되거나 기기에서 실행 중인 워크플로와 상호작용할 가능성이 있습니다.
---
# 💥 가용성 영향
반복적인 자동화 작업은 다음을 초래할 수 있습니다:
* 자동화 중단
* 애플리케이션 전환
* 워크플로에서 이탈
* 예상치 못한 UI 동작 유발
* 테스트 환경 간섭
* Android 자동화 세션 방해
CVSS 평가는 **낮은 가용성 영향**을 부여하며, 기밀성과 무결성은 **높음**으로 평가됩니다.
---
# 🧪 안전한 탐지
이 저장소에는 다음이 포함됩니다:```text
cve-2026-73296.py
체커는 의도적으로 비파괴적 보안 평가 도구로 설계되었습니다.
다음을 확인합니다:```text TCP reachability ↓ HTTP response ↓ Authentication boundary ↓ SAFE / VULNERABLE / UNKNOWN
It does **not** invoke Mobile MCP tools.
---
# 🟢 SAFE
`SAFE` 결과는 테스트된 HTTP 엔드포인트가 다음과 같은 인증/권한 부여 장벽을 반환했음을 의미합니다:```text
HTTP 401
HTTP 403
예시:```text [SAFE] Port 8020: authentication/authorization barrier detected
---
# 🔴 취약
`VULNERABLE` 결과는 테스트된 HTTP 엔드포인트가 인증 요구 없이 성공적으로 응답했음을 의미합니다.
예시:```text
[VULNERABLE] Port 8021:
HTTP endpoint responded without an authentication challenge
이는 확인을 요하는 잠재적 노출로 처리해야 합니다.
UNKNOWN 결과는 체커가 인증 상태를 확실하게 판별하지 못했음을 의미합니다.
예시:```text TCP unreachable TLS error HTTP timeout Unexpected HTTP response Redirect
`UNKNOWN`은 안전하거나 취약한 것으로 해석되어서는 안 됩니다.
---
# ⚠️ 탐지 제한 사항
이 검사 도구는 의도적으로 **취약점을 증명한다고 주장하지 않습니다**.
녹색 결과는 다음을 의미합니다:
> 테스트된 HTTP 경계에서 인증 보호가 관찰되었습니다.
이는 전체 UFO 배포가 안전하다는 것을 수학적으로 증명하지는 **않습니다**.
마찬가지로, 빨간색 결과는 다음을 나타냅니다:
> 테스트된 엔드포인트가 인증 요청 없이 응답했습니다.
이는 다음 항목과 연관 지어 확인해야 합니다:
* UFO 버전
* 배포 구성
* 네트워크 노출
* MCP 구성
* 리버스 프록시
* TLS 구성
* 방화벽 규칙
* ADB 연결
---
# 🚀 사용법