CVE-2026-57134
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 36 - wyżej niż 36% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Wywołujący z nieprawidłowymi poświadczeniami mogą uzyskać dostęp do narzędzi i zasobów MCP chronionych przez zasady Basic i OAuth, co prowadzi do nieautoryzowanego dostępu.
Rekomendacja
Zaktualizuj PraisonAI do wersji 1.7.2 lub nowszej, która naprawia ten problem.
Inne podatności w PraisonAI
Zobacz wszystkie- 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-57116Krytyczne
W PraisonAI od wersji 4.2.1 do przed 4.6.59 powierzchnia wdrożeniowa AgentOS oparta na FastAPI pozostaje nieuwierzytelniona, mimo wcześniejszej poprawki dla CVE-2026-40151. Trasa czatu bezpośrednio wywołuje agent.chat(request.message), a żądania bez uwierzytelnienia lub z błędnym tokenem bearer również uruchamiają wdrożonego agenta.
- CVE-2026-57118Krytyczne
W systemie PraisonAI przed wersją praisonaiagents 1.6.59 funkcje AgentTeam.launch oraz alias Agents rejestrują endpointy GET /{path}/list, POST /{path} i POST /{path}/{agent_id} bez kontroli dostępu. Zdalnie wystawiony serwer pozwala nieuwierzytelnionym klientom wyliczać agentów, zużywać zasoby modeli, uzyskiwać dostęp do prywatnego kontekstu oraz wywoływać narzędzia agentów lub efekty uboczne workflow.
- 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.
- CVE-2026-57141Krytyczne
W PraisonAI przed wersją 1.7.2 narzędzie codeMode w src/praisonai-ts/src/tools/builtins/code-mode.ts wykonuje model-generated JavaScript za pomocą new Function() i with(sandbox), a bloklistę opartą na wyrażeniach regularnych można obejść używając Function('return this')() do odzyskania obiektu globalnego i dynamicznego konstruowania nazwy modułu child_process. Atakujący mogący wpływać na argument code może uzyskać dostęp do możliwości procesu hosta, czytać lub zapisywać pliki, pozyskiwać poświadczenia środowiskowe i wykonywać polecenia systemowe z uprawnieniami procesu PraisonAI.
- CVE-2026-57140Krytyczne
W PraisonAI od wersji 1.6.0 do 1.7.2, AgentOS w src/praisonai-ts/src/os/agentos.ts używa domyślnego adresu 0.0.0.0 z src/praisonai-ts/src/os/config.ts i rejestruje GET /api/agents oraz POST /api/chat bez oprogramowania pośredniczącego uwierzytelniania. Zdalny wywołujący mogący połączyć się z usługą może uzyskać nazwy agentów, role i prefiksy instrukcji oraz wywołać wybranego agenta, potencjalnie uzyskując dostęp do jego narzędzi, pamięci, zewnętrznych API, poświadczeń i stanu przepływu pracy.
- CVE-2026-57139Krytyczne
W PraisonAI od wersji 1.5.0 do 1.7.2, MCPServer.startHttp() w src/praisonai-ts/src/mcp/server.ts wiąże się bez ograniczenia hosta i przekazuje każde żądanie HTTP POST do handleRequest() bez uwierzytelniania i autoryzacji. Każdy klient sieciowy mogący połączyć się z portem może wywołać tools/list, tools/call, resources/read lub prompts/get, powodując uruchomienie zarejestrowanych procedur obsługi z poświadczeniami serwera i uprawnieniami procesu lub ujawnienie zarejestrowanych danych.
- CVE-2026-57138Krytyczne
W PraisonAI od wersji 1.4.0 do 1.7.2, codeMode w src/praisonai-ts/src/tools/builtins/code-mode.ts wykonuje niezaufany JavaScript za pomocą new Function() wewnątrz with(sandbox) i opiera się na małej blokliście kodu źródłowego oraz przesłoniętych właściwościach process i require. Kod może użyć ({}).constructor.constructor do odzyskania prawdziwego konstruktora Function, uzyskać process i process.mainModule.require oraz dotrzeć do API systemu plików i podprocesów hosta mimo reklamowanego sandboxa. Atakujący kontrolujący dane wejściowe codeMode mogą czytać sekrety, modyfikować pliki, wykonywać polecenia lub wyczerpać proces hosta.
Oryginalny opis (angielski, źródło NVD)
PraisonAI is a multi-agent teams system. From 1.5.1 until 1.7.2, MCPSecurity.evaluatePolicy() in src/praisonai-ts/src/mcp/security.ts invokes the configured credential validator only when AuthMethod is api-key or bearer. Basic and OAuth policies accept any non-empty Authorization header without calling auth.validate(), then return an authenticated result, allowing callers with invalid credentials to access MCP tools and resources protected by those policies. This issue is fixed in version 1.7.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

