CVE-2026-47398
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 26 - wyżej niż 26% wszystkich znanych CVE
Streszczenie
Podatność w PraisonAI w wersjach przed 4.6.40 umożliwia wykonanie dowolnego kodu poprzez niechronione wywołania spec.loader.exec_module w pliku agents_generator.py. Funkcje te przyjmują parametr module_path z konfiguracji YAML i wykonują go bez walidacji, co pozwala atakującemu na zdalne wykonanie kodu.
Ocena ryzyka
Ryzyko obejmuje całkowite przejęcie kontroli nad systemem przez atakującego, który może wykonać dowolny kod w kontekście aplikacji PraisonAI.
Rekomendacja
Zaleca się natychmiastową aktualizację PraisonAI do wersji 4.6.40 lub nowszej. Ogranicz dostęp do konfiguracji YAML tylko do zaufanych źródeł.
Inne podatności w PraisonAI
Zobacz wszystkie- CVE-2026-55533Wysokie
PraisonAI przed wersją 4.6.58 ma lukę w create_auth_middleware(), która pozwala na żądania bez uwierzytelnienia, gdy brakuje PRAISONAI_API_KEY lub PRAISONAI_JWT_SECRET. Zewnętrznie powiązany serwer Recipe może przyjmować nieuwierzytelnione żądania POST /v1/recipes/run, mimo że uwierzytelnianie jest włączone.
- CVE-2026-55532Wysokie
PraisonAI przed wersją 4.6.58 ma lukę w MCP HTTP Stream _validate_origin, która używa startswith do sprawdzania pochodzenia, co pozwala atakującemu na użycie origin localhost.attacker.com. Strona internetowa może wysyłać żądania Content-Type: text/plain bez preflight i wywoływać narzędzia bez klucza API, w tym zapisy plików.
- CVE-2026-55538Wysokie
PraisonAI to system wieloagentowy. Przed wersją 4.6.51, funkcja _create_agents_app() nie uwierzytelnia żądań POST /agents ani POST /agents/{agent_name}. Brakujące lub nieprawidłowe wartości bearer i X-API-Key nadal umożliwiają wykonanie agenta. Problem naprawiono w wersji 4.6.58.
- CVE-2026-55537Wysokie
PraisonAI to system wieloagentowy. Przed wersją 4.6.58, funkcja JobSubmitRequest.validate_webhook_url() akceptuje webhook_url, gdy rozwiązywanie nazwy zgłasza socket.gaierror, ponieważ ścieżka wyjątku używa 'except socket.gaierror: pass'. Funkcja JobExecutor._send_webhook() później wykonuje świeże wyszukiwanie, co pozwala zmianom DNS na przekierowanie żądania do wewnętrznego serwisu. Problem naprawiono w wersji 4.6.58.
- CVE-2026-55531Średnie
PraisonAI przed wersją 4.6.58 ma podatność w obsłudze MCP HTTP Stream, gdzie handler mcp_post tworzy nowy wpis _sessions dla każdego żądania initialize, ale nie wywołuje _cleanup_sessions ani nie egzekwuje maksymalnej liczby sesji. Nieuwierzytelniony atakujący może wyczerpać pamięć.
- CVE-2026-55530Średnie
PraisonAI przed wersją 1.6.58 ma podatność w funkcji ast_grep_rewrite, która nie posiada dekoratora @require_approval używanego przez podobne narzędzia mutacji. Przy dry_run=False, wywołanie kontrolowane przez agenta może przekazać --update-all i szeroką ścieżkę do przepisania plików bez wymaganego zatwierdzenia.
- CVE-2026-55525Wysokie
PraisonAI to system wieloagentowy. Przed wersją praisonaiagents 1.6.58, funkcja web_crawl waliduje tylko początkowy URL przed użyciem _crawl_with_httpx z httpx.Client(follow_redirects=True). Cele przekierowań nie są ponownie walidowane, więc atakujący, który wpływa na cel crawl, może przekierować publiczny URL do loopback, prywatnej sieci lub usług metadata chmury, podczas gdy ALLOW_LOCAL_CRAWL pozostaje wyłączone. Pobrana wewnętrzna odpowiedź jest zwracana do kontekstu agenta. Problem został naprawiony w wersji 1.6.58.
- CVE-2026-61434Wysokie
Podatność w PraisonAI przed wersją 4.6.78 umożliwia ominięcie listy dozwolonych poleceń powłoki poprzez użycie wbudowanych akcji find (-exec, -execdir, -delete). Atakujący może wykonać nieautoryzowane polecenia, odczytać lub usunąć pliki bez uruchamiania filtrów znaków specjalnych.
- CVE-2026-61432Średnie
Podatność typu path traversal w bibliotece PraisonAI (praisonaiagents) przed wersją 1.6.78 w funkcji FastContext. Funkcja FastContextAgent.execute_tool() nie sprawdza poprawnie ścieżek bezwzględnych ani nie kanonizuje ścieżek względnych, co pozwala na odczyt, przeszukiwanie i wyliczanie plików poza dozwolonym katalogiem roboczym.
- CVE-2026-61431Średnie
PraisonAI przed wersją 4.6.78 zawiera podatność na przechodzenie po ścieżkach w komponencie ContextGatherer, który nie waliduje ścieżek dołączanych w plikach .praisoncontext i .praisoninclude. Atakujący mogą podać ścieżki bezwzględne lub sekwencje przejścia do katalogu nadrzędnego, aby odczytać dowolne pliki poza obszarem roboczym i dołączyć ich zawartość do wygenerowanego pakietu kontekstu.
Oryginalny opis (angielski, źródło NVD)
PraisonAI is a multi-agent teams system. The v4.6.32 chokepoint refactor (which patched CVE-2026-44334 / GHSA-xcmw-grxf-wjhj) added the PRAISONAI_ALLOW_LOCAL_TOOLS env-var gate to the tool_override.py sinks. However, two additional spec.loader.exec_module call sites in praisonai/agents_generator.py were missed and remain completely unguarded in versions prior to 4.6.40. Both functions accept a module_path parameter sourced from YAML configuration and execute it without validation, signature checking, or the env-var gate. Version 4.6.40 fixes the issue.

