Podatności PraisonAI
77 znanych podatności CVE w PraisonAI, przetłumaczonych i ocenionych.
- 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.
- CVE-2026-60091Wysokie
PraisonAI przed wersją 4.6.78 zawiera nieuwierzytelnioną podatność na fałszowanie żądań po stronie serwera (SSRF) w endpointcie Jobs API /api/v1/runs. Parametr webhook_url jest walidowany w momencie żądania, ale ponownie rozwiązywany w momencie połączenia, co pozwala atakującym na wykorzystanie ponownego wiązania DNS do dotarcia do wewnętrznych usług w ramach ślepego ataku SSRF.
- CVE-2026-60089Średnie
Podatność w pakiecie PraisonAI (praisonaiagents) przed wersją 1.6.78 pozwala na automatyczne ładowanie konfiguracji z pliku .praisonai/config.toml bez walidacji ścieżki output.output_file. Atakujący może ustawić tę ścieżkę na absolutną lub zawierającą '..', co przy wywołaniu agent.start() bez parametru output prowadzi do nadpisania plików poza katalogiem projektu.
- 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-44334Wysokie
W systemie multi-agentowym PraisonAI, w wersjach od 4.5.139 do przed 4.6.32, występuje luka związana z nieautoryzowanym importem plików. W pliku tool_override.py brak jest zabezpieczeń, co pozwala na zdalne wywołanie kodu przez atakującego.
- CVE-2026-55536Krytyczne
PraisonAI przed wersją 4.6.58, funkcja _handle_connection() w Browser Server sprawdza pochodzenie rozszerzenia Chrome za pomocą re.match() i niezakotwiczonego wyrażenia chrome-extension://[a-z0-9]{32}. Dodatkowe znaki na końcu przechodzą przed websocket.accept(), co pozwala na komendy start_session i nieautoryzowaną automatyzację przeglądarki. Problem został naprawiony w wersji 4.6.58.
- CVE-2026-48168Krytyczne
PraisonAI przed wersją 4.6.40 zawiera podatność na wstrzyknięcie poleceń w dołączonym workflow GitHub Actions dla Claude. Nazwa gałęzi pull requesta jest osadzana w bloku Bash bez walidacji, a każdy komentarz @claude może uruchomić zadanie, co pozwala zewnętrznym kontrybutorom na wykonanie dowolnego kodu w runnerze.
- CVE-2026-47396Krytyczne
PraisonAI przed wersją 4.6.40 udostępnia niezabezpieczone API sterowania agentami przez sieć, gdy zmienna CALL_SERVER_TOKEN nie jest skonfigurowana. Funkcja uwierzytelniająca verify_token() przepuszcza żądania bez tokena. Serwer wywołań domyślnie nasłuchuje na 0.0.0.0, co pozwala każdemu klientowi na listowanie agentów, podgląd metadanych i instrukcji, wywoływanie oraz wyrejestrowywanie agentów.
- CVE-2026-47393Krytyczne
PraisonAI domyślnie generuje serwer API Flask bez uwierzytelniania, który nasłuchuje na wszystkich interfejsach sieciowych (0.0.0.0) i udostępnia wrażliwe endpointy. Atakujący może wysyłać żądania do endpointów /chat i /agents bez żadnego uwierzytelnienia, co pozwala na wykonanie kodu LLM z kluczami API dostępnymi w środowisku.
- CVE-2026-47392Krytyczne
W systemie PraisonAI przed wersją 4.6.40 (odpowiadającą wersji 1.6.40 biblioteki praisonaiagents) wykryto podatność w funkcji `execute_code()` w pliku `praisonaiagents/tools/python_tools.py`. Atakujący może ominąć tryb piaskownicy subprocess, używając `print.__self__` do uzyskania dostępu do modułu `builtins`, a następnie poprzez `vars()` i konstrukcję łańcucha znaków wywołać `__import__`, co prowadzi do wykonania dowolnych poleceń systemu operacyjnego na hoście.
- CVE-2026-47391Krytyczne
PraisonAI przed wersją 4.6.40 zawiera przykładowy serwer A2A, który udostępnia nieuwierzytelniony endpoint A2A JSON-RPC i rejestruje narzędzie calculate(expression) zaimplementowane za pomocą eval() w Pythonie. Serwer wiąże się z 0.0.0.0. Zdalny, nieuwierzytelniony atakujący może wysłać wiadomość message/send do /a2a, co powoduje, że LLM może wywołać narzędzie calculate, prowadząc do wykonania dowolnego kodu Python na serwerze. Podatność dotyczy wdrożeń korzystających z oficjalnego przykładu A2A lub podobnych nieuwierzytelnionych wdrożeń A2A z niebezpiecznymi narzędziami.
- CVE-2026-61447Krytyczne
PraisonAI przed wersją 1.6.78 zawiera podatność zdalnego wykonania kodu w funkcji CodeAgent._execute_python(), która wykonuje kod Python generowany przez model LLM bez walidacji AST, ograniczeń importów ani izolacji piaskownicy. Atakujący mogą wpływać na wynik LLM poprzez wstrzykiwanie promptów, aby wykraść wszystkie sekrety środowiskowe i wykonać dowolny kod na systemie hosta.
- CVE-2026-61445Krytyczne
PraisonAI przed wersją 4.6.78 zawiera podatności umożliwiające dowolny zapis plików i wykonanie poleceń w komponencie AICoder. Brak walidacji ścieżek i sanityzacji poleceń w wywołaniach narzędzi LLM pozwala atakującym na wstrzykiwanie złośliwych promptów przez interfejs czatu.
- CVE-2026-60090Krytyczne
Podatność w PraisonAI przed wersją 4.6.78 pozwala na wstrzyknięcie SQL/CQL poprzez nieprawidłową walidację argumentu wymiaru w backendach PGVector i Cassandra. Atakujący może przekazać złośliwy ciąg znaków, który zostanie bezpośrednio wstawiony do zapytania CREATE TABLE, co może prowadzić do wykonania nieautoryzowanych operacji na bazie danych.
- CVE-2026-61444Krytyczne
PraisonAI przed wersją 4.6.78 zawiera podatność na wstrzykiwanie kodu w pliku deploy/api.py. Parametr agents_file jest bezpośrednio interpolowany do f-stringa bez sanityzacji, co pozwala atakującym na wstrzyknięcie dowolnego kodu Python, który wykonuje się podczas uruchamiania wygenerowanego kodu serwera przez subprocess.Popen().
- CVE-2026-44335Krytyczne
PraisonAI to system zespołów wieloagentowych. Przed wersją 1.6.32 logika sprawdzania URL miała błąd logiczny, który mógł być obejściem przez atakujących, prowadząc do ataków SSRF.
- CVE-2026-39890Krytyczne
PraisonAI przed wersją 4.5.115 zawiera podatność w metodzie AgentService.loadAgentFromFile, która używa biblioteki js-yaml do parsowania plików YAML bez wyłączania niebezpiecznych tagów (takich jak !!js/function i !!js/undefined). Pozwala to atakującemu na stworzenie złośliwego pliku YAML, który po sparsowaniu wykonuje dowolny kod JavaScript.
- CVE-2026-39888Krytyczne
PraisonAI przed wersją 1.5.115 ma lukę w funkcji execute_code() w trybie sandbox. Lista zablokowanych atrybutów AST w podprocesie jest niekompletna, co pozwala na ominięcie sandboksa i wykonanie dowolnego kodu Python.
- CVE-2026-34953Krytyczne
PraisonAI przed wersją 4.5.97 zawiera podatność w OAuthManager.validate_token(), która zwraca True dla każdego tokena nieznalezionego w wewnętrznym magazynie (domyślnie pustym). Każde żądanie HTTP do serwera MCP z dowolnym tokenem Bearer jest traktowane jako uwierzytelnione, dając pełny dostęp do wszystkich zarejestrowanych narzędzi i możliwości agentów.
- CVE-2026-34952Krytyczne
PraisonAI to system wieloagentowy. Przed wersją 4.5.97 serwer bramy PraisonAI akceptuje połączenia WebSocket na /ws i udostępnia topologię agentów na /info bez uwierzytelniania. Każdy klient sieciowy może się połączyć, wyliczyć zarejestrowanych agentów i wysyłać dowolne wiadomości do agentów i ich zestawów narzędzi.
- CVE-2026-34938Krytyczne
PraisonAI przed wersją 1.5.90 zawiera lukę w funkcji execute_code(), która umożliwia ominięcie trójwarstwowego sandboksa przez przekazanie podklasy str z nadpisaną metodą startswith(), prowadząc do wykonania dowolnych poleceń OS.
- CVE-2026-34935Krytyczne
PraisonAI w wersjach od 4.5.15 do 4.5.69 zawiera podatność na wykonanie dowolnego kodu systemowego poprzez argument CLI --mcp, który jest przekazywany bez walidacji do shlex.split() i anyio.open_process(). Atakujący może wykorzystać tę lukę do wykonania dowolnych poleceń w kontekście użytkownika procesu.
- CVE-2026-34934Krytyczne
PraisonAI to system wieloagentowy. Przed wersją 4.5.90 funkcja get_all_user_threads konstruuje zapytania SQL przez f-stringi z nieskapowanymi identyfikatorami wątków pobranymi z bazy danych. Atakujący może przechować złośliwy identyfikator wątku przez update_thread, a przy ładowaniu listy wątków wstrzyknięty kod SQL wykonuje się, dając pełny dostęp do bazy danych.
- CVE-2026-55539Wysokie
PraisonAI przed wersją 4.6.51 udostępnia endpoint /api/v1/runs bez uwierzytelnienia. Każdy, kto ma dostęp do sieci, może przesyłać zadania, odczytywać wyniki, anulować uruchomienia lub usuwać zadania, używając poświadczeń operatora. Poprawka dodaje middleware PRAISONAI_JOBS_API_KEY.
- CVE-2026-55541Wysokie
PraisonAI to system wieloagentowy. Przed wersją 4.6.58, funkcje _create_agents_app() i _create_unified_app() nie instalują sprawdzania poświadczeń, co pozwala nieuwierzytelnionym wywołaniom na dostęp do POST /agents i POST /api/v1/agents/{id}/invoke. Problem naprawiono w wersji 4.6.58.
- CVE-2026-55540Wysokie
PraisonAI to system wieloagentowy. Przed wersją 4.6.51, funkcja is_path_within_directory() używa os.path.abspath() zamiast os.path.realpath() do sprawdzania granic katalogu roboczego. Dowiązanie symboliczne wewnątrz katalogu może wskazywać na zewnątrz i nadal przechodzić kontrolę, umożliwiając narzędziom takim jak read_file dostęp do plików poza skonfigurowanym katalogiem. Problem naprawiono w wersji 4.6.58.
- CVE-2026-55535Średnie
PraisonAI przed wersją 4.6.58 zawiera podatność w API Jobs, gdzie walidacja adresu webhook_url zawodzi w przypadku błędu socket.gaierror i nie wiąże zweryfikowanego adresu z późniejszym żądaniem. Atakujący może podać adres webhook_url, który później rozwiąże się na 127.0.0.1, 169.254.169.254 lub inny wewnętrzny adres.
- CVE-2026-55534Wysokie
PraisonAI to system wieloagentowy. Od wersji 4.6.34 do 4.6.58, funkcja _create_agents_app() nie uwierzytelnia żądań POST /agents ani POST /agents/{agent_name}. Osoba wywołująca sieciowo może wywoływać skonfigurowane agenty bez poświadczeń, nawet gdy dostarczono klucz API. Problem naprawiono w wersji 4.6.58.
- CVE-2026-55529Średnie
PraisonAI przed wersją 4.6.58 ma podatność w metodzie _validate_origin MCP HTTP Stream, która akceptuje request_origin.startswith(allowed), przez co atakujący może użyć origin localhost.evil.example, który pasuje do listy dozwolonych localhost. Bez klucza API, złośliwa strona internetowa może wysyłać żądania tools/call do lokalnego serwera MCP i wykonywać wystawione narzędzia.
- CVE-2026-55528Wysokie
PraisonAI to system wieloagentowy. Przed wersją praisonaiagents 1.6.58, AgentServer udostępnia ServerConfig.auth_token, ale AgentServer._create_app nie sprawdza go na żadnej trasie. Zdalny wywołujący może subskrybować, publikować i wykonywać inne działania bez ważnego tokena bearer lub X-Auth-Token, nawet gdy uwierzytelnianie jest skonfigurowane. Problem został naprawiony w wersji 1.6.58.
- CVE-2026-55527Wysokie
PraisonAI to system wieloagentowy. Przed wersją praisonaiagents 1.6.58, konstruktor FileMemory łączy nieoczyszczone user_id do self.user_path. Osoba wywołująca z ../ lub separatorami ścieżek może opuścić katalog pamięci i zapisać dane JSON w dowolnych lokalizacjach zapisywalnych przez proces. Poprawka oczyszcza user_id przed skonstruowaniem self.user_path. Problem został naprawiony w wersji 1.6.58.
- CVE-2026-55526Wysokie
PraisonAI to system wieloagentowy. Przed wersją praisonaiagents 1.6.58, spider_tools._host_is_blocked() nie rozwiązuje zwykłych nazw hostów przed ich pobraniem przez scrape_page. Nazwa hosta taka jak 127.0.0.1.nip.io przechodzi walidację i rozwiązuje się do loopback, umożliwiając wewnętrzny dostęp HTTP. Poprawka używa socket.getaddrinfo i zamyka się w przypadku błędów DNS. Problem został naprawiony w wersji 1.6.58.
- CVE-2026-48169Wysokie
PraisonAI Platform API przed wersją 0.1.4 ma dwie luki autoryzacyjne, które razem łamią izolację przestrzeni roboczych. Warstwa usług wykonuje globalne wyszukiwania po kluczu głównym bez sprawdzania własności przestrzeni roboczej, a endpointy zarządzania członkami wymagają tylko roli 'member', co pozwala każdemu członkowi na awans do właściciela i usunięcie oryginalnego właściciela.
- CVE-2026-55524Wysokie
PraisonAI przed wersją 1.6.58 zawiera podatność SSRF w narzędziu web_crawl. Ochrona sprawdza tylko początkowy adres URL, ale po przekierowaniu lub zmianie DNS łączy się z wewnętrznymi adresami, takimi jak pętla zwrotna, sieć prywatna lub metadane chmury. Atakujący może wpłynąć na URL przekazywany do web_crawl, aby uzyskać odpowiedzi z tych wewnętrznych zasobów.
- CVE-2026-55523Wysokie
PraisonAI w wersjach 1.5.128 do 1.6.57 zawiera podatność SSRF w funkcji web_crawl(). Mimo walidacji początkowego URL, nie sprawdza celów przekierowań, co pozwala atakującemu na dostęp do wewnętrznych zasobów przez publiczny URL przekierowujący do pętli zwrotnej lub sieci prywatnej. Jest to niekompletna poprawka wcześniejszych podatności SSRF.
- CVE-2026-55522Wysokie
PraisonAI w wersjach 3.9.26 do 4.6.57 (praisonai) i 0.12.12 do 1.6.57 (praisonaiagents) ma podatność na wykonanie kodu w funkcji include przepływu pracy. Funkcja _execute_include() importuje i uruchamia kod z tools.py bez odpowiednich zabezpieczeń, co pozwala atakującemu na wykonanie dowolnego kodu Python, jeśli może wpłynąć na lokalny katalog przepływu pracy.
- CVE-2026-47398Wysokie
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.
- CVE-2026-47397Wysokie
Podatność w PraisonAI (wersje przed 4.6.40), w której ukryte metadane na stronie internetowej powodują, że agenci PraisonAI zapisują treści kontrolowane przez atakującego do dowolnych ścieżek. Funkcja write_file pomija walidację ścieżki, gdy workspace=None (zawsze w produkcji).
- CVE-2026-47395Średnie
Podatność w PraisonAI (wersje przed 4.6.40) pozwala na automatyczne pobieranie treści z adresów URL podanych w promptach CLI. Atakujący może wstrzyknąć złośliwy URL, co skutkuje pobraniem zasobów z localhostu i wstrzyknięciem ich do kontekstu modelu, bez żadnych ograniczeń adresów prywatnych.
- CVE-2026-47394Wysokie
Podatność w PraisonAI (wersje przed 4.6.40) – niekompletna poprawka poprzedniej luki (CVE-2026-44336). Nieuwierzytelniony atakujący może odczytać dowolny plik na hoście (np. /etc/passwd, klucze SSH) poprzez wywołanie MCP tools/call do praisonai.workflow.show.
- CVE-2026-47390Średnie
W PraisonAI przed wersją 4.6.40 (oraz praisonaiagents przed 1.6.40) walidacja URL w narzędziu `spider_tools` może zostać ominięta przez użycie alternatywnych kodowań hosta loopback. Walidacja blokuje tylko konkretne ciągi (np. 'localhost', '127.0.0.1'), ale nie normalizuje nazw hostów ani nie sprawdza końcowego adresu IP. Pozwala to na SSRF do usług loopback.

