CVE-2026-55536
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
PraisonAI przed wersją 4.6.58, funkcja _handle_connection() w Browser Server sprawdza pochodzenie rozszerzenia Chrome za pomocą re.match() i niezakotwiczonego wyrażenia chrome-extension://[a-z0-9]{32}. Dodatkowe znaki na końcu przechodzą przed websocket.accept(), co pozwala na komendy start_session i nieautoryzowaną automatyzację przeglądarki. Problem został naprawiony w wersji 4.6.58.
Ocena ryzyka
Podatność umożliwia nieautoryzowaną automatyzację przeglądarki, co może prowadzić do naruszenia prywatności użytkowników, wykonywania nieautoryzowanych działań w przeglądarce i potencjalnej kompromitacji sesji.
Rekomendacja
Zaleca się aktualizację PraisonAI do wersji 4.6.58 lub nowszej oraz weryfikację poprawności sprawdzania pochodzenia rozszerzeń Chrome.
Inne podatności w PraisonAI
Zobacz wszystkie- CVE-2026-61434Wysokie
Podatność w PraisonAI przed wersją 4.6.78 umożliwia ominięcie listy dozwolonych poleceń powłoki poprzez użycie wbudowanych akcji find (-exec, -execdir, -delete). Atakujący może wykonać nieautoryzowane polecenia, odczytać lub usunąć pliki bez uruchamiania filtrów znaków specjalnych.
- CVE-2026-61432Średnie
Podatność typu path traversal w bibliotece PraisonAI (praisonaiagents) przed wersją 1.6.78 w funkcji FastContext. Funkcja FastContextAgent.execute_tool() nie sprawdza poprawnie ścieżek bezwzględnych ani nie kanonizuje ścieżek względnych, co pozwala na odczyt, przeszukiwanie i wyliczanie plików poza dozwolonym katalogiem roboczym.
- CVE-2026-61431Średnie
PraisonAI przed wersją 4.6.78 zawiera podatność na przechodzenie po ścieżkach w komponencie ContextGatherer, który nie waliduje ścieżek dołączanych w plikach .praisoncontext i .praisoninclude. Atakujący mogą podać ścieżki bezwzględne lub sekwencje przejścia do katalogu nadrzędnego, aby odczytać dowolne pliki poza obszarem roboczym i dołączyć ich zawartość do wygenerowanego pakietu kontekstu.
- CVE-2026-60091Wysokie
PraisonAI przed wersją 4.6.78 zawiera nieuwierzytelnioną podatność na fałszowanie żądań po stronie serwera (SSRF) w endpointcie Jobs API /api/v1/runs. Parametr webhook_url jest walidowany w momencie żądania, ale ponownie rozwiązywany w momencie połączenia, co pozwala atakującym na wykorzystanie ponownego wiązania DNS do dotarcia do wewnętrznych usług w ramach ślepego ataku SSRF.
- CVE-2026-60089Średnie
Podatność w pakiecie PraisonAI (praisonaiagents) przed wersją 1.6.78 pozwala na automatyczne ładowanie konfiguracji z pliku .praisonai/config.toml bez walidacji ścieżki output.output_file. Atakujący może ustawić tę ścieżkę na absolutną lub zawierającą '..', co przy wywołaniu agent.start() bez parametru output prowadzi do nadpisania plików poza katalogiem projektu.
- CVE-2026-44340Wysokie
W systemie multi-agentowym PraisonAI przed wersją 4.6.37 występuje luka, która pozwala na wykorzystanie symlinków do zapisu dowolnych danych w wybranej lokalizacji na systemie ofiary. Problem dotyczy braku walidacji dla member.linkname oraz nieodrzucania członków symlink/hardlink.
- CVE-2026-44334Wysokie
W systemie multi-agentowym PraisonAI, w wersjach od 4.5.139 do przed 4.6.32, występuje luka związana z nieautoryzowanym importem plików. W pliku tool_override.py brak jest zabezpieczeń, co pozwala na zdalne wywołanie kodu przez atakującego.
- CVE-2026-62176Krytyczne
PraisonAI przed wersją 4.6.78 ma podatność w module `deploy/api.py`, który generuje kod serwera Python przez bezpośrednie interpolowanie parametru `agents_file` do f-stringa, który jest następnie zapisywany do pliku i wykonywany przez `subprocess.Popen()`. Atakujący kontrolujący wartość `agents_file` może wstrzyknąć dowolny kod Python.
- CVE-2026-57148Krytyczne
W PraisonAI przed wersją 0.1.6, gdy PLATFORM_JWT_SECRET nie jest ustawione, używany jest publiczny klucz deweloperski dev-secret-change-me do podpisywania HS256, a zabezpieczenia startowe i wydawania tokenów są wyłączone, ponieważ PLATFORM_ENV domyślnie przyjmuje wartość dev. Nieuwierzytelniony atakujący może podpisać JWT z dowolną wartością sub, który zostanie zaakceptowany jako tożsamość, umożliwiając podszycie się pod użytkownika lub właściciela obszaru roboczego.
- CVE-2026-57147Krytyczne
W PraisonAI przed wersją 0.1.6, gdy PLATFORM_JWT_SECRET nie jest ustawione, JWT_SECRET przyjmuje publiczną wartość dev-secret-change-me, a zabezpieczenie produkcyjne nie działa, gdy PLATFORM_ENV również nie jest ustawione (domyślnie dev). Zdalny nieuwierzytelniony atakujący może wygenerować token HS256 z dowolnym sub i email, który zostanie zaakceptowany przez AuthService._verify_token() i get_current_user dla chronionych tras API.
Oryginalny opis (angielski, źródło NVD)
PraisonAI is a multi-agent teams system. Prior to praisonai 4.6.58, Browser Server _handle_connection() checks Chrome extension origins with re.match() and the unanchored expression chrome-extension://[a-z0-9]{32}. Extra trailing characters pass before websocket.accept(), allowing start_session commands and unauthorized browser automation. This issue is fixed in version 4.6.58.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

