HIGH🇬🇧 English

CVE-2026-10054

Eclipse Theia – brak uwierzytelnienia terminala WebSocket umożliwia RCE

CVSS 8.8v3.1pub. 2026-07-03upd. 2026-07-07

Eclipse Theia w wersjach 1.8.1 i późniejszych udostępnia uprzywilejowane usługi terminala przez WebSocket bez uwierzytelnienia na poziomie serwisu. Atakujący może nakłonić użytkownika do odwiedzenia złośliwej strony i w ten sposób przejąć kontrolę nad terminalem oraz wykonać dowolne polecenia systemowe.

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Backend przeglądarki w Eclipse Theia udostępnia endpoint WebSocket (/services/shell-terminal, /services/terminals/:id) bez mechanizmu uwierzytelnienia. Walidacja nagłówka Origin w komponencie @theia/core działa w trybie fail-open: połączenia są akceptowane, gdy nagłówek Origin jest nieobecny lub gdy lista dozwolonych hostów THEIA_HOSTS nie jest skonfigurowana (domyślna konfiguracja). Integracja Socket.IO dodatkowo zastępuje rzeczywisty nagłówek Origin nagłówkiem fix-origin dostarczanym przez klienta, który atakujący może swobodnie kontrolować lub pomijać. W efekcie obca strona internetowa odwiedzana przez użytkownika posiadającego uruchomioną instancję Theia może otworzyć przestrzeń nazw WebSocket /services, wywołać tworzenie terminala, dołączyć się do kanału danych terminala i wykonywać dowolne polecenia systemowe.

Skutki

Atakujący może wykonać dowolne polecenia systemowe (RCE) z uprawnieniami procesu Theia oraz odczytać ich wyniki, co prowadzi do pełnego przejęcia środowiska deweloperskiego lub hostowanej instancji. Atak może być przeprowadzony jako drive-by zarówno w lokalnych konfiguracjach deweloperskich, jak i w środowiskach hostowanych lub tunelowanych bez silnego zewnętrznego uwierzytelnienia.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Trwają prace nad poprawką wymuszającą walidację same-origin, usuwającą zaufanie do nagłówka fix-origin, zabezpieczającą dostęp HTTP i WebSocket tokenem cookie z atrybutami SameSite=Strict; HttpOnly oraz sanityzującą opcje tworzenia terminala powłoki. Do czasu wydania poprawki zaleca się skonfigurowanie listy THEIA_HOSTS oraz zastosowanie silnego zewnętrznego uwierzytelnienia przed instancją Theia.

Kogo dotyczy

Eclipse Theia w wersjach 1.8.1 i późniejszych (wszystkie wersje od 1.8.1 do momentu wydania poprawki)

Uwagi

Poprawka była w trakcie opracowywania w momencie publikacji podatności (2026-07-03). Szczegóły techniczne naprawy (same-origin enforcement, usunięcie fix-origin, token cookie SameSite=Strict; HttpOnly) zostały opisane w oficjalnym advisory producenta.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje