CVE-2026-10054
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 5 - wyżej niż 5% wszystkich znanych CVE
Streszczenie
W podatnych wersjach Eclipse Theia (1.8.1 i nowsze) backend przeglądarki udostępnia uprzywilejowane RPC terminala przez WebSocket bez uwierzytelniania na poziomie usługi. Walidacja pochodzenia WebSocket jest zawodna, a atakujący może przejąć kontrolę nad terminalem.
Ocena ryzyka
Atakujący z zewnętrznej strony internetowej może wykonać dowolne polecenia systemowe na hoście ofiary, co prowadzi do pełnej kompromitacji środowiska programistycznego lub serwera.
Rekomendacja
Zastosuj tymczasowe zabezpieczenie poprzez skonfigurowanie listy dozwolonych źródeł (THEIA_HOSTS) oraz wdróż uwierzytelnianie zewnętrzne. Po wydaniu łatki, natychmiast zaktualizuj Eclipse Theia do wersji zawierającej poprawkę.
Inne podatności w Eclipse Theia
Zobacz wszystkie- CVE-2026-19884Wysokie
W Eclipse Theia do wersji 1.69.0 włącznie, otwarcie folderu uruchamia integrację z systemem kontroli wersji bez uprzedniego zapytania użytkownika o zaufanie do folderu. Aplikacje zbudowane na Theia, zawierające integrację git, wykonują polecenia git (np. git status) natychmiast po wykryciu repozytorium. Ponieważ git honoruje konfigurację lokalną repozytorium, folder z kontrolowanym przez atakującego plikiem .git/config z ustawieniem core.fsmonitor może spowodować wykonanie skonfigurowanego polecenia. Wystarczy sklonować repozytorium dostarczone przez atakującego i otworzyć je w aplikacji opartej na Theia, aby wykonać dowolne polecenia z uprawnieniami użytkownika, bez żadnego monitu potwierdzającego.
- CVE-2026-61891Wysokie
W Eclipse Theia do wersji 1.73.1 backend @theia/filesystem udostępnia punkty końcowe HTTP do pobierania plików bez ograniczenia do workspace. W trybie przeglądarkowym token połączenia nie jest wymagany dla żądań HTTP, co pozwala nieuwierzytelnionym klientom na odczyt dowolnych plików dostępnych dla procesu.
- CVE-2026-60009Wysokie
W Eclipse Theia do wersji 1.73.1 włącznie, backend @theia/filesystem udostępnia endpoint POST /file-upload, który przyjmuje ścieżkę bezwzględną od atakującego i wykonuje fs.move bez ograniczeń przestrzeni roboczej i bez uwierzytelnienia. W przeglądarce (nie-Electron) token połączenia jest egzekwowany tylko na WebSocket, a żądania HTTP bez tokena nie są odrzucane, co pozwala na nieuwierzytelniony zapis dowolnych plików poza przestrzenią roboczą, co może prowadzić do zdalnego wykonania kodu.
- CVE-2026-14574Średnie
Funkcja PreferenceUtils.merge w Eclipse Theia rekurencyjnie scala wartości preferencji bez odrzucania kluczy związanych z prototypem (__proto__, constructor, prototype). Może to prowadzić do zanieczyszczenia Object.prototype, gdy użytkownik otworzy workspace z odpowiednio spreparowanym plikiem ustawień.
- CVE-2026-12609Wysokie
W Eclipse Theia w wersjach od 1.66.0 do 1.73.1 włącznie, backend @theia/plugin-ext udostępnia endpoint HTTP /hostedPlugin/:pluginId/:path(*), który rozwiązuje ścieżkę pliku bez weryfikacji, czy pozostaje w katalogu pluginu. Nieuwierzytelniony atakujący może użyć zakodowanych sekwencji '../' do ucieczki z katalogu i odczytu dowolnych plików dostępnych dla procesu backendu.
- CVE-2026-10055Wysokie
W Eclipse Theia od wersji 1.26.0 backendowy punkt końcowy /services/request-service RPC akceptuje adres URL kontrolowany przez atakującego z dowolnego klienta podłączonego do standardowego punktu końcowego /services, wykonuje żądanie HTTP po stronie serwera i zwraca pełną treść odpowiedzi. Ponieważ docelowy adres URL nie jest walidowany ani dozwolony, zdalny atakujący z dostępem do połączenia usługi Theia może wysyłać żądania HTTP po stronie serwera do localhost lub innych hostów dostępnych z backendu i odczytywać ich odpowiedzi.
- CVE-2026-46580Wysokie
W wersjach Eclipse Theia przed 1.71.0 pliki pasujące do wzorca .prompts/*.prompttemplate w przestrzeni roboczej były automatycznie ładowane, co mogło nadpisywać lub rozszerzać systemowe polecenia agenta AI. Atakujący mógł stworzyć złośliwe repozytorium zawierające pliki szablonów, które po otwarciu przestrzeni roboczej w Theia zastępowały instrukcje systemowe AI treścią kontrolowaną przez atakującego.
- CVE-2026-44691Wysokie
W wersjach Eclipse Theia przed 1.69.0, niestandardowe definicje zadań w plikach roboczych mogły być wykonywane bez wymogu zaufania do przestrzeni roboczej. Atakujący mógł stworzyć złośliwe repozytorium, które po sklonowaniu i otwarciu w Theia prowadziło do wykonania dowolnych poleceń z uprawnieniami użytkownika.
- CVE-2026-44688Wysokie
W wersjach Eclipse Theia przed 1.71.0 agent czatu AI przetwarzał nazwy plików i katalogów roboczych jako część kontekstu podpowiedzi, nie rozróżniając ich od instrukcji systemowych. Atakujący mógł stworzyć złośliwe repozytorium z niebezpiecznymi nazwami, co prowadziło do wykonania instrukcji kontrolowanych przez atakującego.
- CVE-2026-22551Średnie
W wersjach Eclipse Theia przed 1.71.0, funkcja czatu AI renderowała tagi obrazów Markdown z odpowiedzi AI, co prowadziło do nieograniczonych żądań HTTP do zewnętrznych adresów URL. W połączeniu z wstrzyknięciem poleceń w złośliwym obszarze roboczym, atakujący mógł skłonić agenta AI do tworzenia adresów URL obrazów, które kodowały wrażliwe informacje.
Oryginalny opis (angielski, źródło NVD)
In affected versions of Eclipse Theia (1.8.1 and later), the browser backend exposes privileged terminal RPC over WebSocket (/services/shell-terminal, /services/terminals/:id) without service-level authentication. WebSocket origin validation in @theia/core is fail-open: connections are accepted when the Origin header is missing or when no THEIA_HOSTS allowlist is configured (the default). The Socket.IO integration additionally replaces the real Origin header with a client-supplied fix-origin header that an attacker can control or omit. As a result, a foreign-origin web page visited by a user with a running Theia instance can open the /services WebSocket namespace, invoke terminal creation, attach to the resulting terminal data channel, execute arbitrary OS commands, and read their output. This affects both local developer setups (drive-by attack) and hosted or tunneled deployments without strong external authentication. A fix is in development that enforces same-origin validation by default, removes trust in the fix-origin header, gates HTTP and WebSocket access on a SameSite=Strict; HttpOnly connection-token cookie, and sanitizes shell terminal creation options.

