CVE-2026-57148
KrytyczneCVSS 9.8Streszczenie
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.
Ocena ryzyka
Atakujący może uzyskać dostęp do chronionych zasobów poprzez sfałszowanie tożsamości, jeśli zna identyfikator celu.
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 falls back to the public dev-secret-change-me HS256 signing key when PLATFORM_JWT_SECRET is unset, while the startup and token-issuance guards are disabled because PLATFORM_ENV also defaults to dev. An unauthenticated attacker can sign a JWT containing an attacker-chosen sub value, and AuthService._verify_token() accepts it as an authenticated identity, enabling user or workspace-owner impersonation when a target identifier is known. This vulnerability is fixed in praisonai-platform 0.1.6.

