CVE-2026-57146
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 42 - wyżej niż 42% wszystkich znanych CVE
Streszczenie
W PraisonAI od wersji 4.5.115 do przed 4.6.61 udokumentowany punkt wejścia CLI nadal udostępnia trasy subskrypcji i zdarzeń A2U bez uwierzytelniania. Opakowanie CLI nie udostępnia --api-key, nie instaluje oprogramowania pośredniczącego API-key i nie generuje tokenu dla A2U; jeśli zmienna A2U_AUTH_TOKEN nie jest ustawiona, uwierzytelnianie jest wyłączone. Podatność naprawiono w wersji 4.6.61.
Ocena ryzyka
Nieuwierzytelniony dostęp do strumieniowania zdarzeń A2U może ujawnić dane lub pozwolić na nieautoryzowane działania w systemie wieloagentowym. Może to prowadzić do naruszenia poufności i integralności.
Rekomendacja
Zaktualizuj PraisonAI do wersji 4.6.61 lub nowszej. Upewnij się, że zmienna A2U_AUTH_TOKEN jest ustawiona i że uwierzytelnianie jest wymuszane na wszystkich trasach A2U.
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 version 4.5.115 to before version 4.6.61, the published A2U advisory GHSA-f292-66h9-fpmf says unauthenticated A2U event streaming was fixed in praisonai 4.5.115. Current head still exposes the same A2U subscription and event routes without authentication when the operator starts the documented CLI entrypoint. The current CLI wrapper does not expose --api-key, does not install the common API-key middleware, and does not generate a token for A2U. It calls create_a2u_routes(app) directly. That helper only enforces auth if A2U_AUTH_TOKEN is already present; if the variable is missing, _authenticate_request() returns None and treats auth as disabled. This issue has been patched in version 4.6.61.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

