CVE-2026-46538
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 13 - wyżej niż 13% wszystkich znanych CVE
Streszczenie
W kliencie constellation frameworka Microsoft UFO (wersja 3.0.1-4-ge2626659) oczekujące odpowiedzi zadań są śledzone wyłącznie po session_id, bez weryfikacji, czy komunikat TASK_END pochodzi od urządzenia, które pierwotnie otrzymało zadanie. Uwierzytelnione urządzenie równorzędne może wysłać sfałszowany TASK_END z tym samym session_id, a constellation zaakceptuje odpowiedź i ukończy oczekujące zadanie ofiary danymi kontrolowanymi przez atakującego.
Ocena ryzyka
Uwierzytelniony atakujący może wstrzyknąć fałszywe wyniki zadań do urządzenia ofiary, co może prowadzić do błędnych lub złośliwych działań w ramach automatyzacji.
Rekomendacja
Zaktualizuj Microsoft UFO do wersji zawierającej poprawkę weryfikującą powiązanie TASK_END z urządzeniem docelowym oraz ogranicz zaufanie między urządzeniami równorzędnymi.
Inne podatności w Microsoft UFO
Zobacz wszystkie- 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-105793Krytyczne
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.
- 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-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-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-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.
Oryginalny opis (angielski, źródło NVD)
Microsoft UFO open-source framework for intelligent automation across devices and platforms. In 3.0.1-4-ge2626659, Microsoft UFO's constellation client tracks pending task responses by session_id only and does not verify that a TASK_END message came from the device that originally received the task. When the constellation sends a task to a target device, it records a pending Future under a session key. The pending task record stores the expected device ID, but the completion path ignores that binding. If another authenticated peer device sends a forged TASK_END with the same session_id, the constellation accepts the response and completes the victim device's pending Future with attacker-controlled result data. This is an authenticated cross-device task-result injection issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

