Podatność w narzędziu Cline (wersje przed 3.0.30) pozwala złośliwym stronom internetowym na nawiązanie nieautoryzowanego połączenia WebSocket z lokalnym serwerem dashboard. Skutkiem może być odczyt stanu przestrzeni roboczej, modyfikacja ustawień oraz wykonanie poleceń na maszynie użytkownika.
▸ Pokaż oryginał (EN)
Cline is an autonomous coding agent as an SDK, IDE extension, or CLI assistant. Prior to 3.0.30, the Cline Hub dashboard server launched by the cline dashboard command accepts WebSocket connections on the /browser endpoint without validating the Origin header, and when ROOM_SECRET is unset for local 127.0.0.1 binds, isAuthorizedBrowserRequest() allows attacker-controlled websites to send desktopCommand frames that read workspace state, mutate MCP and provider settings, and trigger command execution when a provider or model is configured. This issue is fixed in version 3.0.30.
Serwer dashboard uruchamiany przez polecenie `cline dashboard` nasłuchuje połączeń WebSocket na endpoincie `/browser` bez weryfikacji nagłówka `Origin`. Gdy zmienna środowiskowa `ROOM_SECRET` nie jest ustawiona (domyślna konfiguracja dla lokalnych połączeń 127.0.0.1), funkcja `isAuthorizedBrowserRequest()` akceptuje każde przychodzące połączenie. Atakujący może w ten sposób skłonić użytkownika do odwiedzenia złośliwej strony internetowej, która wysyła ramki `desktopCommand` do lokalnego serwera. Podatność dotyczy mechanizmu weryfikacji pochodzenia żądania (CWE-346 — Origin Validation Error).
Atakujący może odczytać stan przestrzeni roboczej użytkownika, zmodyfikować ustawienia MCP i dostawców modeli AI, a jeśli skonfigurowany jest dostawca lub model — wywołać wykonanie dowolnych poleceń na lokalnej maszynie ofiary.
Należy zaktualizować Cline do wersji 3.0.30 lub nowszej (cli-v3.0.30), w której problem został naprawiony. Szczegóły patcha dostępne są w referencjach producenta oraz w commit d09270940f5746f288cfc4a5039b46a2f4d5d01e.
Cline w wersjach przed 3.0.30 (SDK, rozszerzenie IDE, asystent CLI) — dotyczy użytkowników korzystających z polecenia `cline dashboard` bez ustawionej zmiennej środowiskowej `ROOM_SECRET`.
Podatność wymaga interakcji użytkownika (UI:R) — ofiara musi odwiedzić złośliwą stronę podczas aktywnej sesji serwera dashboard. Wektor ataku to sieć lokalna (AV:A). Zakres ataku przekracza komponent podatny (S:C), co odzwierciedla możliwość wpływu na środowisko IDE i wykonanie poleceń poza przeglądarką.
CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:HCline
APPCline< 3.0.30