CVE-2026-46416
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
W frameworku Microsoft UFO (wersja 3.0.1-4-ge2626659) tworzona jest jedna współdzielona instancja UFOWebSocketHandler, która jest używana ponownie dla wielu uwierzytelnionych połączeń WebSocket. Obiekty protokołu dla poszczególnych połączeń są przechowywane w mutowalnych polach instancji, które są nadpisywane przez nowe połączenia, co powoduje, że odpowiedzi protokołu mogą trafiać do niewłaściwego klienta.
Ocena ryzyka
Najpóźniej połączony uwierzytelniony klient może otrzymywać odpowiedzi protokołu należące do innego uwierzytelnionego klienta. Może to prowadzić do wycieku informacji i naruszenia izolacji sesji między klientami.
Rekomendacja
Należy zaktualizować framework Microsoft UFO do wersji zawierającej poprawkę. Do czasu aktualizacji zaleca się ograniczenie liczby równoczesnych połączeń WebSocket lub wdrożenie dodatkowej izolacji sesji.
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 creates one shared UFOWebSocketHandler instance and reuses it for multiple authenticated WebSocket connections. The handler stores per-connection protocol objects in mutable instance fields. Each new WebSocket connection overwrites those fields. Later, message handlers send responses through the shared fields instead of through protocol objects bound to the originating connection. As a result, the most recently connected authenticated client can receive protocol responses that belong to another authenticated client.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

