CVE-2026-105793
KrytyczneCVSS 9.1Streszczenie
Microsoft UFO przed wersją 3.0.9 zawiera podatność na wstrzyknięcie poleceń w narzędziu press_key w pliku ufo/client/mcp/http_servers/mobile_mcp_server.py. Parametr key_code jest przekazywany do `adb shell input keyevent`, a klient adb łączy argumenty w ciąg poleceń, co pozwala uwierzytelnionemu wywołującemu Mobile MCP na wykonanie dodatkowych poleceń jako użytkownik powłoki Android na autoryzowanym podłączonym urządzeniu. Wymaga to ważnego klucza UFO_MCP_API_KEY, adb na hoście i dostępnego autoryzowanego urządzenia.
Ocena ryzyka
Ryzyko wykonania nieautoryzowanych poleceń na podłączonym urządzeniu Android przez uwierzytelnionego atakującego, co może prowadzić do naruszenia integralności urządzenia.
Rekomendacja
Zaleca się aktualizację Microsoft UFO do wersji 3.0.9 lub nowszej oraz ograniczenie dostępu do klucza API.
Inne podatności w Microsoft UFO
Zobacz wszystkie- CVE-2026-105792Średnie
W Microsoft UFO przed wersją 3.0.9, endpoint /api/task_result/{task_name} wywołuje SessionManager.get_result_by_task() w pliku ufo/server/services/session_manager.py, który pozyskuje nieodnawialny lock i ponownie go próbuje, gdy nazwa zadania mapuje się na sesję. Uwierzytelniony atakujący może zablokować żądanie na czas nieokreślony, a w domyślnej konfiguracji jednego procesu zablokowany wątek uniemożliwia obsługę innych żądań HTTP, WebSocket i zależnych działań.
- CVE-2026-105791Wysokie
Narzędzie run_shell w komponencie CommandLineExecutor w Microsoft UFO przed wersją 3.0.9 waliduje tylko pierwszy token parametru bash_command i zezwala na explorer.exe. W systemie Windows explorer.exe przekazuje kolejny argument ścieżki do ShellExecute, co pozwala na uruchomienie dowolnego pliku wykonywalnego lub skryptu jako użytkownik pulpitu, mimo że podproces używa shell=False.
- CVE-2026-105790Średnie
Microsoft UFO przed wersją 3.0.9 zawiera podatność związaną z uwierzytelnioną rejestracją urządzenia przez /api/devices, która może dostarczyć kontrolowany przez atakującego punkt końcowy WebSocket, podczas gdy aip/transport/websocket.py stosuje pinned_addresses tylko do początkowego miejsca docelowego. Pinned websockets.connect() klient podąża za przekierowaniami między domenami i otwiera nowe połączenie TCP przed walidacją IP peer przez Galaxy, co pozwala na żądania uaktualnienia WebSocket do wewnętrznych hostów dostępnych z serwera. Potwierdzony wpływ to wewnętrzne połączenie i żądanie uaktualnienia, bez ustanawiania dowolnych metod HTTP, ujawniania treści odpowiedzi, ukończonej sesji AIP ani dostępu do metadanych chmury. Problem naprawiono w wersji 3.0.9.
- CVE-2026-105789Średnie
W narzędziu execute_command w Microsoft UFO (plik linux_mcp_server.py) polecenia sort i uniq są traktowane jako tylko do odczytu, mimo że ich opcje pozwalają na zapis do plików. Uwierzytelniony użytkownik może użyć sort -o lub drugiego argumentu uniq, aby tworzyć lub nadpisywać pliki z uprawnieniami procesu serwera UFO, bez użycia metaznaków powłoki. Podatność naprawiono w wersji 3.0.9.
- CVE-2026-105788Wysokie
Microsoft UFO przed wersją 3.0.10 zawiera podatność w narzędziach type_text i launch_app, gdzie parametry tekst i nazwa pakietu są przekazywane do poleceń adb shell bez odpowiedniej walidacji. Atakujący z ważnym kluczem API Mobile MCP może wykonać dodatkowe polecenia na autoryzowanym urządzeniu jako użytkownik Android shell.
- CVE-2026-55440Średnie
W frameworku Microsoft UFO przed wersją 3.0.7, handler COMMAND_RESULTS wywołuje funkcję get_or_create_session bez parametru owner_client_id, co pozwala uwierzytelnionemu klientowi na utworzenie sesji o dowolnej nazwie (np. constellation_task_id = f"{task_name}@{task_id}"). Może to prowadzić do odmowy dostępu prawowitemu właścicielowi lub wyczerpania pamięci przez tworzenie fikcyjnych sesji.
- CVE-2026-73296Krytyczne
Framework Microsoft UFO przed wersją 3.0.8 udostępnia usługi MCP Streamable HTTP na portach TCP 8020 i 8021 bez uwierzytelnienia. Pozwala to nieuwierzytelnionemu zdalnemu atakującemu na wywoływanie funkcji takich jak przechwytywanie ekranu, dotknięcia, przesunięcia, wpisywanie tekstu, uruchamianie aplikacji i modyfikowanie stanu urządzenia z podłączonym Androidem.
- CVE-2026-62316Wysokie
Microsoft UFO, framework open-source do inteligentnej automatyzacji, przed wersją 3.0.8 zawiera serwer MCP na localhost:8010, który nie waliduje nagłówków Host, Origin ani Sec-Fetch-Site. Strona internetowa kontrolowana przez atakującego może użyć DNS rebinding, aby uzyskać dostęp do lokalnego punktu /mcp, wyliczyć schematy narzędzi i wywołać execute_command z ważnym kluczem UFO_MCP_API_KEY, co pozwala na odczyt plików lub wykonanie dozwolonych poleceń systemowych jako użytkownik ofiary. Problem został naprawiony w wersji 3.0.8.
- CVE-2026-73297Średnie
Framework Microsoft UFO przed wersją 3.0.8 nie blokuje prefiksów NAT64, 6to4 i Teredo oraz nie sprawdza ponownie osadzonych adresów IPv4, co pozwala zdalnemu atakującemu ominąć zabezpieczenie SSRF i uzyskać dostęp do metadanych chmury, wewnętrznych usług lub localhost.
- CVE-2026-54568Średnie
W frameworku Microsoft UFO w wersjach od 3.0.0 do 3.0.6 wykryto podatność polegającą na braku autoryzacji na poziomie obiektu. Klient podłączony jako URZĄDZENIE do serwera WebSocket mógł wysłać żądanie DEVICE_INFO_REQUEST z identyfikatorem innego urządzenia i uzyskać jego dane systemowe.
Oryginalny opis (angielski, źródło NVD)
Microsoft UFO is an open-source framework for intelligent automation across devices and platforms. Prior to 3.0.9, the press_key tool in ufo/client/mcp/http_servers/mobile_mcp_server.py accepts a free-form key_code parameter and passes it to `adb shell input keyevent`. The adb client joins the arguments into a remote command string that the Android shell reparses, allowing an authenticated Mobile MCP caller to execute additional commands as the Android shell user on an authorized connected device. Exploitation requires a valid UFO_MCP_API_KEY, adb on the host, and a reachable authorized device, and it does not establish host operating-system execution, Android root execution, or access beyond the Android shell-user privileges. This issue is fixed in version 3.0.9.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

