Podatność w komponencie browser bridge systemu PraisonAI umożliwia nieuwierzytelnionemu atakującemu zdalne przejęcie aktywnej sesji automatyzacji przeglądarki poprzez endpoint WebSocket /ws. Brak mechanizmów uwierzytelniania oraz możliwość ominięcia weryfikacji nagłówka Origin czynią tę podatność szczególnie groźną w środowiskach, gdzie bridge jest dostępny sieciowo.
▸ Pokaż oryginał (EN)
PraisonAI is a multi-agent teams system. In versions below 4.5.139 of PraisonAI and 1.5.140 of praisonaiagents, the browser bridge (praisonai browser start) is vulnerable to unauthenticated remote session hijacking due to missing authentication and a bypassable origin check on its /ws WebSocket endpoint. The server binds to 0.0.0.0 by default and only validates the Origin header when one is present, meaning any non-browser client that omits the header is accepted without restriction. An unauthenticated network attacker can connect, send a start_session message, and the server will route it to the first idle browser-extension WebSocket (effectively hijacking that session) and then broadcast all resulting automation actions and outputs back to the attacker. This enables unauthorized remote control of connected browser automation sessions, leakage of sensitive page context and automation results, and misuse of model-backed browser actions in any environment where the bridge is network-reachable. This issue has been fixed in versions 4.5.139 of PraisonAI and 1.5.140 of praisonaiagents.
Serwer browser bridge uruchamia się domyślnie na adresie 0.0.0.0 (wszystkie interfejsy sieciowe) i nasłuchuje połączeń WebSocket na endpoincie /ws bez wymagania jakiegokolwiek uwierzytelnienia. Jedyna forma weryfikacji to sprawdzenie nagłówka Origin, jednak mechanizm ten jest aktywny wyłącznie wtedy, gdy nagłówek jest obecny w żądaniu – klient niebędący przeglądarką (np. skrypt lub narzędzie sieciowe) może po prostu pominąć ten nagłówek, a serwer zaakceptuje połączenie bez ograniczeń. Atakujący wysyła komunikat start_session, a serwer kieruje go do pierwszej wolnej sesji rozszerzenia przeglądarki, efektywnie przejmując kontrolę nad tą sesją. Wszelkie akcje automatyzacji oraz dane wyjściowe są następnie przesyłane z powrotem do atakującego.
Atakujący uzyskuje nieautoryzowaną zdalną kontrolę nad sesjami automatyzacji przeglądarki, co prowadzi do wycieku wrażliwych danych z kontekstu odwiedzanych stron oraz wyników automatyzacji, a także umożliwia nadużycie akcji przeglądarki wspieranych przez modele AI.
Należy zaktualizować PraisonAI do wersji 4.5.139 lub nowszej oraz praisonaiagents do wersji 1.5.140 lub nowszej. Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do portu browser bridge za pomocą firewall lub ograniczenie nasłuchiwania wyłącznie do interfejsu lokalnego (127.0.0.1).
PraisonAI w wersjach poniżej 4.5.139 oraz praisonaiagents w wersjach poniżej 1.5.140
Podatność sklasyfikowana jako CWE-306 (Missing Authentication for Critical Function). Szczegóły zostały opublikowane w ramach security advisory na GitHub: GHSA-8x8f-54wf-vv92.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NPraison Praisonai
APPPraison< 4.5.139Praison Praisonaiagents
APPPraison< 1.5.140
Powiązane podatności
Command Injection w PraisonAI — brak walidacji poleceń MCP
Path Traversal i RCE w PraisonAI MCP Server (serwer narzędzi plikowych)
PraisonAI — RCE i command injection przez niezaufowane pliki YAML
PraisonAI – wyciek tokenów GitHub przez atak ArtiPACKED w CI/CD
Path traversal w PraisonAI — nadpisywanie plików przez złośliwy pakiet .praison