
Wprowadzenie do problemu / definicja luki
W OpenClaw ujawniono podatność o wysokiej istotności, która pozwala na zdalne wykonanie kodu (RCE) po jednym kliknięciu w link. Błąd otrzymał identyfikator CVE-2026-25253 i ocenę CVSS 8.8 (HIGH).
Łańcuch ataku jest szczególnie niebezpieczny, bo wykorzystuje typowy przepływ w przeglądarce (wejście na stronę) do wykradzenia tokenu uwierzytelniającego, a następnie przejęcia „gateway” narzędzia – co w praktyce może skończyć się pełną kontrolą nad hostem, na którym działa agent.
W skrócie
- Co jest podatne: wersje OpenClaw przed 2026.1.29.
- Wektor: użytkownik musi odwiedzić złośliwą stronę / kliknąć link (UI:R w CVSS).
- Sedno problemu: UI kontrolne ufa parametrowi gatewayUrl z query string i automatycznie łączy się po WebSocket, wysyłając zapisany token.
- Skutek: kradzież tokenu → operator-level dostęp do gateway API → zmiany konfiguracji i wykonanie kodu na hoście.
- Naprawa: aktualizacja do 2026.1.29 (wydana 30 stycznia 2026) lub nowszej.
Kontekst / historia / powiązania
OpenClaw to self-hosted agent AI, który potrafi automatyzować działania w systemie (uruchamianie poleceń, praca na plikach, orkiestracja workflow). Taka klasa narzędzi ma „naturalnie” wysoki blast radius — przejęcie sesji operatora zwykle oznacza dostęp do wszystkiego, do czego agent ma uprawnienia.
W tym incydencie najważniejsze jest to, iż atak nie wymaga bezpośredniego dostępu do hosta ofiary na start — wystarcza przejęcie tokenu z warstwy przeglądarkowej, a resztę „dowozi” API/agent po stronie gateway.
Analiza techniczna / szczegóły luki
1) Zaufanie do gatewayUrl z query string
Opis podatności wskazuje, iż aplikacja (Control UI) pobiera gatewayUrl z parametrów URL i używa go do zestawienia połączenia. W wersjach podatnych brakuje walidacji/ograniczeń, przez co atakujący może podstawić własny adres.
2) Automatyczne połączenie WebSocket i „wyciek” tokenu
Najbardziej krytyczny element: UI auto-connectuje po załadowaniu, a w payloadzie połączenia WebSocket wysyła zapisany token gateway. jeżeli gatewayUrl wskazuje na serwer atakującego, token trafia wprost do niego.
3) Co daje token: przejęcie gateway i droga do RCE
Po przechwyceniu tokenu atakujący może połączyć się z instancją OpenClaw ofiary i uzyskać dostęp o poziomie operatora do gateway API, co umożliwia arbitralne zmiany konfiguracji i wykonanie kodu na hoście gateway. W praktyce oznacza to klasyczne „account/session takeover”, ale dla komponentu, który ma bardzo szerokie uprawnienia systemowe.
4) Warunek wstępny (ważne w ocenie ryzyka)
Podatność dotyczy wdrożeń, w których użytkownik zalogował się do Control UI (token istnieje i jest możliwy do wysłania). To typowy warunek dla ataków opartych o kradzież sesji.
Praktyczne konsekwencje / ryzyko
Skutki dla organizacji i użytkowników technicznych są ciężkie:
- kompromitacja hosta (RCE) i przejęcie środowiska automatyzacji,
- dostęp do lokalnie przechowywanych danych i poświadczeń, jeżeli agent ma do nich uprawnienia,
- szybka eskalacja do incydentu klasy „full takeover”, bo agent bywa „mostem” do systemów, przeglądarek, plików i integracji.
Warto też podkreślić „operacyjny” aspekt 1-kliku: takie wektory świetnie sklejają się z phishingiem, drive-by oraz kampaniami w mediach społecznościowych, bo kliknięcie linku jest zachowaniem powszechnym i trudnym do wyeliminowania politykami.
Rekomendacje operacyjne / co zrobić teraz
- Zaktualizuj do OpenClaw 2026.1.29 lub nowszej wszędzie, gdzie narzędzie jest używane (dev/staging/prod).
- Rotacja/rewokacja tokenów i kluczy
Jeśli w Twoim modelu wdrożenia tokeny są długowieczne, rozważ ich wymuszoną rotację po aktualizacji (aby „stare” wykradzione tokeny przestały działać). - Ogranicz ekspozycję Control UI
- wystawiaj panel administracyjny tylko za VPN / w sieci wewnętrznej,
- rozważ dodatkową warstwę uwierzytelnienia (np. reverse proxy z SSO/MFA),
- stosuj twarde reguły origin/host (allowlist) dla połączeń do gateway.
- Hardening po stronie aplikacji (jeśli utrzymujesz fork / wkład w projekt)
- walidacja gatewayUrl (allowlist domen, schematów, portów),
- usunięcie auto-connect lub wymuszenie świadomej zgody użytkownika,
- ograniczenie sposobu przechowywania i wysyłania tokenów (minimalizacja ekspozycji w kontekście przeglądarki).
To są dokładnie te elementy, które według opisu doprowadziły do eksfiltracji tokenu.
- Monitoring i detekcja nadużyć
- szukaj nietypowych połączeń WebSocket i nieoczekiwanych zmian konfiguracji gateway,
- koreluj logowania/wykorzystanie tokenów z anomaliami w zadaniach agenta (uruchamianie poleceń, modyfikacje plików),
- dodaj alerty na „operator-level actions”, jeżeli Twoja telemetria to rozróżnia.
Różnice / porównania z innymi przypadkami
CVE-2026-25253 to dobry przykład, iż w agentach AI „prawdziwym wrogiem” bywa nie tyle model, co warstwa sterowania i zaufania między komponentami (UI → gateway). Klasyczne błędy webowe (zaufanie do danych wejściowych z URL, automatyczne połączenia, tokeny w nieodpowiednim kontekście) stają się krytyczne, gdy backend ma możliwość wykonywania działań systemowych.
W praktyce to wzorzec: session/token theft w narzędziu o wysokich uprawnieniach daje efekt porównywalny do RCE — bo „legalne” API umożliwia wykonanie tych samych destrukcyjnych czynności, tylko „w białych rękawiczkach”.
Podsumowanie / najważniejsze wnioski
- CVE-2026-25253 to 1-klikowe przejęcie OpenClaw prowadzące do RCE przez eksfiltrację tokenu WebSocket.
- Problem wynika z połączenia: zaufanie do gatewayUrl + auto-connect + wysyłka tokenu.
- Aktualizacja do 2026.1.29 jest podstawową mitigacją, a dodatkowo warto utwardzić ekspozycję Control UI i rotować tokeny.
Źródła / bibliografia
- The Hacker News — opis podatności i informacja o wersji naprawczej. (The Hacker News)
- CCB Safeonweb — ostrzeżenie i zakres wersji podatnych. (ccb.belgium.be)
- National Vulnerability Database (NIST) — rekord CVE i metryki. (NVD)
- runZero — podsumowanie wpływu i zakresu wersji. (runZero)
- SecurityWeek — opis scenariusza ataku i konsekwencji „gateway takeover”. (SecurityWeek)
