CVE-2026-57144
WysokieCVSS 8.8Streszczenie
W PraisonAI od wersji 4.5.110 do przed 4.6.61 SandlockSandbox, który ma być piaskownicą egzekwowaną przez jądro, w przypadku gdy moduł sandlock importuje się, ale zgłasza niedostępność Landlock, nie zawodzi bezpiecznie. Metody execute() i run_command() po cichu przechodzą do SubprocessSandbox, który nie egzekwuje ograniczeń systemu plików ani sieci. Podatność naprawiono w wersji 4.6.61.
Ocena ryzyka
Złośliwy kod w piaskownicy może czytać pliki poza dozwoloną ścieżką i otwierać połączenia sieciowe mimo network=False. Prowadzi to do naruszenia izolacji i potencjalnego wycieku danych.
Rekomendacja
Zaktualizuj PraisonAI do wersji 4.6.61 lub nowszej. Upewnij się, że Landlock jest dostępny, lub zweryfikuj, że piaskownica zawodzi bezpiecznie w Twoim środowisku.
Inne podatności w PraisonAI
Zobacz wszystkie- CVE-2026-57146Wysokie
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.
- CVE-2026-57142Wysokie
W PraisonAI od wersji 4.5.87 do przed 4.6.61 polityka niebezpiecznych narzędzi sprawdza tylko narzędzia zadeklarowane w TEMPLATE.yaml requires.tools. Dla przepisów opartych na krokach workflow.yaml jest ładowany przez YAMLWorkflowParser, który rozwiązuje narzędzia na poziomie agenta i zachowuje approve: na najwyższym poziomie, co pozwala niezaufanemu przepisowi zadeklarować execute_command i samodzielnie go zatwierdzić bez allow_dangerous_tools=True. Podatność naprawiono w wersji 4.6.61.
- CVE-2026-57117Wysokie
W PraisonAI w wersjach od 4.6.10 do przed 4.6.59 mostek LocalManagedAgent / SandboxedAgent konwertuje operacje na plikach (read_file, list_files, write_file) na polecenia powłoki, używając surowych argumentów ścieżek. Napastnik mogący wpłynąć na argument ścieżki może wyłamać się z cytowanej ścieżki i wykonać dowolne polecenia powłoki w środowisku obliczeniowym (host lub kontener Docker).
- CVE-2026-57114Wysokie
W PraisonAI w wersjach od 4.5.126 do przed 4.6.59 walidacja webhook_url w Async Jobs API nie jest powiązana z późniejszym żądaniem sieciowym. Nazwa hosta kontrolowana przez napastnika może najpierw rozwiązać się na publiczny adres IP podczas walidacji, a następnie na adres loopback/prywatny/metadanych chmury podczas dostarczania webhooka, omijając zabezpieczenie SSRF. To niepełna poprawka / obejście dla GHSA-8frj-8q3m-xhgm.
- CVE-2026-57113Wysokie
W PraisonAI w wersjach od 2.6.0 do przed 4.6.59 loader szablonów akceptuje URI GitHub z refami i zapisuje ścieżkę oraz ref bez normalizacji, łącząc je w ścieżkę cache bez sprawdzenia, czy pozostaje w katalogu cache. Spreparowany ref z sekwencjami ../ pozwala wyjść poza katalog cache, zapisać .cache_meta.json poza nim, a w pewnych warunkach usunąć katalog poza cache przez shutil.rmtree.
- CVE-2026-56840Wysokie
W PraisonAI komponent praisonai.bots.HTTPApproval renderuje argumenty oczekującego zatwierdzenia narzędzia bezpośrednio do HTML panelu zatwierdzeń. Argument narzędzia kontrolowany przez atakującego może wstrzyknąć JavaScript do tej strony. Gdy człowiek otworzy URL zatwierdzenia, skrypt wykona się w origin panelu i może wysłać żądanie POST do endpointu /approve/{request_id}/decide, powodując zwrócenie approved=True.
- CVE-2026-56838Wysokie
W PraisonAI ścieżka recipe.run() egzekwuje politykę blokowania domyślnie zabronionych niebezpiecznych narzędzi przez _check_tool_policy(), ale ścieżka strumieniowa recipe.run_stream() ładuje tę samą receptę i wywołuje _execute_recipe() bez tej kontroli. W rezultacie recepta deklarująca execute_command w requires.tools jest odrzucana przez recipe.run(), ale osiąga silnik wykonania przez recipe.run_stream() mimo allow_dangerous_tools=False.
- CVE-2026-56837Wysokie
W PraisonAI komponent LinearBot uruchamia publiczny nasłuch webhooków na 0.0.0.0 i traktuje LINEAR_WEBHOOK_SECRET jako opcjonalny. Gdy sekret jest nieobecny, _handle_webhook() całkowicie pomija weryfikację Linear-Signature. Nieuwierzytelniony atakujący sieciowy może wysłać sfałszowane żądanie Linear-Event: AgentSession, które zostanie przetworzone i przekazane do BotSessionManager.chat().
- CVE-2026-56836Wysokie
W PraisonAI polecenie praisonai recipe serve kieruje do przestarzałego polecenia Typer, które może uruchomić serwer HTTP Recipe na interfejsie innym niż localhost bez uwierzytelniania. Ponieważ config.auth jest nieobecny, create_app() nie dołącza middleware klucza API ani JWT. Nieuwierzytelnione żądania mogą dotrzeć do API recipe oraz, gdy włączone, do /admin/reload.
- CVE-2026-56835Wysokie
W PraisonAI bot Slack stosuje skonfigurowane allowed_users, allowed_channels i politykę unknown-user pairing w normalnym handlerze zdarzeń wiadomości, ale nie w sąsiednim handlerze zdarzeń app_mention. Użytkownik workspace Slack, który może wspomnieć bota w kanale, może wywołać agenta PraisonAI nawet gdy nadawca nie jest na liście dozwolonych, kanał nie jest dozwolony, a unknown_user_policy="deny".
Oryginalny opis (angielski, źródło NVD)
PraisonAI is a multi-agent teams system. From version 4.5.110 to before version 4.6.61, praisonai.sandbox.SandlockSandbox is documented and implemented as the kernel-enforced sandbox backend for untrusted code. Its SandboxConfig.native() path lets callers configure allowed filesystem paths and network=False. On systems where the optional sandlock module imports but reports that Landlock is unavailable, SandlockSandbox.execute() and run_command() do not fail closed. They silently fall back to SubprocessSandbox(self.config). That fallback keeps the same high-level native policy object but does not enforce the native filesystem or network boundary during code execution. A sandboxed payload can read files outside the configured allowed path and open network connections despite network=False. This issue has been patched in version 4.6.61.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

