W Eclipse Theia do wersji 1.73.1 włącznie, endpointy HTTP do pobierania plików w module `@theia/filesystem` umożliwiają nieuwierzytelnionemu atakującemu odczyt dowolnych plików dostępnych dla procesu backendowego. Podatność jest szczególnie groźna, ponieważ mechanizm tokenu połączenia nie jest egzekwowany dla żądań HTTP, a dostęp nie jest ograniczony do przestrzeni roboczej.
▸ Pokaż oryginał (EN)
In Eclipse Theia versions up to and including 1.73.1, the `@theia/filesystem` backend exposes HTTP file-download endpoints (`GET /file`, `GET /files/`, `PUT /files/`) that convert a client-supplied URI directly to a filesystem path and stream the file, without confining it to the workspace or any allow-listed root. In browser (non-Electron) deployments the connection token is enforced only on WebSocket upgrades; the HTTP middleware in `@theia/core` re-issues the cookie and calls `next()` without rejecting tokenless HTTP requests, so these endpoints are reachable without a valid token. As a result an unauthenticated client can read any file readable by the backend process, including files outside the opened workspace (for example `/etc/hosts`, SSH keys, or tokens). Electron mode uses a separate `ElectronSecurityToken` and is not affected via this path.
Backend modułu `@theia/filesystem` udostępnia endpointy HTTP (`GET /file`, `GET /files/`, `PUT /files/`), które konwertują URI dostarczony przez klienta bezpośrednio na ścieżkę systemu plików i przesyłają plik strumieniowo — bez ograniczania dostępu do workspace ani żadnych dozwolonych katalogów (path traversal / absolute path traversal). W trybie przeglądarkowym (non-Electron) token połączenia jest weryfikowany wyłącznie przy nawiązywaniu połączeń WebSocket; middleware HTTP w module `@theia/core` ponownie ustawia cookie i wywołuje `next()` bez odrzucania żądań HTTP pozbawionych prawidłowego tokenu. Oznacza to, że endpointy są dostępne bez żadnego uwierzytelnienia (CWE-306). Tryb Electron wykorzystuje osobny mechanizm `ElectronSecurityToken` i nie jest podatny na ten atak.
Nieuwierzytelniony atakujący zdalnie może odczytać dowolny plik dostępny dla procesu backendowego, w tym pliki poza otwartym workspace — na przykład `/etc/hosts`, klucze SSH czy tokeny uwierzytelniające, co prowadzi do poufnego ujawnienia danych (CWE-200).
Należy zastosować patche dostępne u producenta zgodnie z referencjami (advisory GHSA-qqc8-9538-25v4). Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do instancji Eclipse Theia oraz monitorowanie żądań do endpointów `/file` i `/files/`.
Eclipse Theia w wersji do 1.73.1 włącznie, wyłącznie w trybie przeglądarkowym (non-Electron). Tryb Electron nie jest podatny.
Podatność dotyczy wyłącznie wdrożeń w trybie przeglądarkowym (non-Electron). Instancje Eclipse Theia dostępne publicznie przez Internet są szczególnie narażone ze względu na brak wymagania uwierzytelnienia dla endpointów HTTP.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NEclipse Theia
APPEclipse< 1.74.0
Powiązane podatności
RCE i XXE w Eclipse Theia via theia-xml-extension
Eclipse Theia: RCE przez podatność XSS w Markdown Preview
Eclipse Theia — path traversal w endpoincie hostedPlugin umożliwia odczyt plików
Eclipse Theia — nieuwierzytelniony arbitrary file write z możliwością RCE
In Eclipse Theia versions prior to 1.71.0, the AI chat agent processed workspace file and directory names as p...