CVE-2026-57147
KrytyczneCVSS 9.8Streszczenie
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.
Ocena ryzyka
Atakujący może uzyskać dostęp do chronionych API poprzez sfałszowanie tożsamości, co prowadzi do nieautoryzowanego dostępu do danych i funkcji.
Rekomendacja
Zaktualizuj praisonai-platform do wersji 0.1.6 lub ustaw bezpieczne PLATFORM_JWT_SECRET i PLATFORM_ENV.
Inne podatności w PraisonAI
Zobacz wszystkie- CVE-2026-57137Wysokie
PraisonAI to system zespołów wieloagentowych. Od wersji 1.4.0 do 1.7.2 funkcja createAgentLoop() w src/praisonai-ts/src/ai/agent-loop.ts przekazuje wykonywalne narzędzia do generateText() przed wywołaniem callbacku zatwierdzającego onToolCall. Ponieważ opakowany AI SDK wykonuje handlery narzędzi podczas generowania, callback zwracający false zapisuje tool_rejected dopiero po tym, jak odrzucone narzędzie wywołało już skutki uboczne.
- CVE-2026-57136Wysokie
PraisonAI to system zespołów wieloagentowych. Od wersji 1.2.3 do 1.7.2 klasa CommandValidator w src/praisonai-ts/src/cli/features/sandbox-executor.ts waliduje tylko pierwszy, oddzielony białym znakiem plik wykonywalny względem allowedCommands, a następnie SandboxExecutor przekazuje pełny ciąg polecenia do sh -c. Polecenie zaczynające się od dozwolonego pliku wykonywalnego może dołączyć niedozwolone polecenie za pomocą metaznaków powłoki.
- CVE-2026-57135Wysokie
PraisonAI to system zespołów wieloagentowych. Od wersji 1.2.3 do 1.7.2 tryb izolacji sieciowej SandboxExecutor w src/praisonai-ts/src/cli/features/sandbox-executor.ts używa buildEnv() jedynie do wstrzyknięcia nieprawidłowych zmiennych środowiskowych http_proxy i https_proxy i nie ustanawia granicy sieciowej na poziomie systemu operacyjnego. Programy ignorujące te zmienne proxy mogą otwierać gniazda bezpośrednio.
- CVE-2026-57134Wysokie
PraisonAI to system zespołów wieloagentowych. Od wersji 1.5.1 do 1.7.2 funkcja MCPSecurity.evaluatePolicy() w src/praisonai-ts/src/mcp/security.ts wywołuje skonfigurowany walidator poświadczeń tylko wtedy, gdy AuthMethod to api-key lub bearer. Zasady Basic i OAuth akceptują dowolny niepusty nagłówek Authorization bez wywołania auth.validate(), a następnie zwracają wynik uwierzytelnienia.
- CVE-2026-57133Wysokie
PraisonAI to system zespołów wieloagentowych. Od wersji 1.5.1 do 1.7.2 pomocnik shell() eksportowany z src/praisonai-ts/src/tools/utility-tools.ts sprawdza tylko pierwszy, oddzielony białym znakiem token względem safeCommands, a następnie przekazuje pełny oryginalny ciąg do child_process.exec(). Ciąg zaczynający się od dozwolonego polecenia tylko do odczytu może dołączyć drugie niedozwolone polecenie za pomocą składni powłoki.
- CVE-2026-57112Wysokie
W bibliotece PraisonAI metoda ToolsMCPServer.run_sse() montuje transport SseServerTransport na przestarzałych endpointach /sse i /messages/ bez domyślnego wymuszania nagłówków Host, Origin ani uwierzytelniania. Złośliwa strona internetowa może wykorzystać DNS rebinding przeciwko osiągalnemu lokalnemu lub wewnętrznemu serwerowi SSE, dostarczyć kontrolowane przez atakującego nagłówki Host i Origin, wyliczyć zarejestrowane narzędzia i wywołać je z uprawnieniami użytkownika serwera. Wstępna poprawka została wydana w praisonaiagents 1.6.59 i PraisonAI 4.6.59.
- CVE-2026-57132Wysokie
W systemie PraisonAI przed wersją 4.6.62 ustawienie zmiennej PRAISONAI_CALL_AUTH na wartość disabled powoduje, że funkcja verify_token akceptuje żądania do /api/v1/agents/{id}/invoke bez uwierzytelniania CALL_SERVER_TOKEN. Wdrożenia korzystające z reklamowanego wyłączenia uwierzytelniania mogą narazić zarejestrowanych agentów oraz ich narzędzia i prywatny kontekst na nieuwierzytelnione wywołania.
- CVE-2026-57122Wysokie
W systemie PraisonAI przed wersją 4.6.59 procedury obsługi webhooków botów WhatsApp i Linear weryfikują podpisy HMAC tylko wtedy, gdy skonfigurowano WHATSAPP_APP_SECRET lub LINEAR_WEBHOOK_SECRET; w przeciwnym razie przetwarzają i wysyłają niepodpisane treści żądań. Zdalny nieuwierzytelniony klient mogący dotrzeć do trasy webhooka może fałszować wiadomości, komentarze lub zdarzenia sesji agenta, podszywać się pod użytkowników platformy i zakłócać przetwarzanie bota.
- CVE-2026-57119Wysokie
W systemie PraisonAI przed wersją 4.6.59 nieuwierzytelnione API Jobs akceptuje bezwzględną lub podatną na traversację ścieżkę agent_file w POST /api/v1/runs i przekazuje ją do wykonawcy zadania bez listy dozwolonych obszarów roboczych ani sprawdzenia granic. Zdalny wywołujący może spowodować otwarcie przez serwer plików dostępnych dla konta usługi, ujawniając poświadczenia, klucze, zmienne środowiskowe i inne lokalne dane.
- CVE-2026-56839Wysokie
W systemie PraisonAI przed wersją 4.6.59 wrappery CODE_TOOLS utrzymują _workspace_root jako None i przekazują workspace=None do funkcji pomocniczych read_file, search_replace i apply_diff, które wymuszają ograniczenie ścieżek tylko dla niepustego workspace. Aplikacja udostępniająca code_read_file, code_search_replace lub code_apply_diff przed set_workspace może pozwolić na odczyt i modyfikację plików poza zamierzonym katalogiem projektu.
Oryginalny opis (angielski, źródło NVD)
PraisonAI is a multi-agent teams system. Prior to 0.1.6, praisonai_platform/services/auth_service.py assigns the public dev-secret-change-me value to JWT_SECRET when PLATFORM_JWT_SECRET is unset, and its production guard does not run when PLATFORM_ENV is also unset because that setting defaults to dev. A remote unauthenticated attacker can mint an HS256 token with an arbitrary sub and email, and the platform's AuthService._verify_token() and get_current_user dependency accept the forged identity for protected API routes. This vulnerability is fixed in praisonai-platform 0.1.6.

