CVE-2026-61438
WysokieCVSS 7.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
PraisonAI przed wersją 4.6.78 zawiera podatność zdalnego wykonania kodu w funkcji JobWorkflowExecutor._exec_inline_python() z powodu niewystarczającej walidacji AST skryptów przepływu pracy. Atakujący mogą tworzyć złośliwe pliki YAML przepływu pracy z instrukcjami import os, a następnie wywołaniami os.system(), które omijają zabezpieczenia piaskownicy i wykonują dowolne polecenia systemowe z uprawnieniami procesu.
Ocena ryzyka
Ryzyko dla organizacji obejmuje całkowite przejęcie kontroli nad serwerem, kradzież danych, instalację złośliwego oprogramowania oraz zakłócenie działania usług poprzez zdalne wykonanie kodu z uprawnieniami procesu.
Rekomendacja
Zaleca się natychmiastową aktualizację PraisonAI do wersji 4.6.78 lub nowszej oraz weryfikację wszystkich plików YAML przepływu pracy pod kątem podejrzanych instrukcji importu i wywołań systemowych.
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 before 4.6.78 contains a remote code execution vulnerability in JobWorkflowExecutor._exec_inline_python() due to insufficient AST validation of workflow script steps. Attackers can create malicious YAML workflow files with import os statements followed by os.system() calls that bypass sandbox checks and execute arbitrary OS commands with process privileges.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

