CVE-2026-56835
WysokieCVSS 8.3Streszczenie
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".
Ocena ryzyka
Polityki kontroli dostępu bota Slack mogą zostać obejścia przez wzmiankę (mention), co pozwala nieuprawnionym użytkownikom na wywołanie agenta. Problem dotyczy wersji od 3.11.0 do przed 4.6.59.
Rekomendacja
Zaktualizuj PraisonAI do wersji 4.6.59 lub nowszej. Do czasu aktualizacji rozważ wyłączenie obsługi zdarzeń app_mention lub ograniczenie dostępu bota do zaufanych kanałów.
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-57144Wysokie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
PraisonAI is a multi-agent teams system. From version 3.11.0 to before version 4.6.59, PraisonAI's Slack bot applies its configured allowed_users, allowed_channels, and unknown-user pairing policy in the normal Slack message event handler, but not in the adjacent Slack app_mention event handler. A Slack workspace user who can mention the bot in a channel where the Slack app is present can trigger the configured PraisonAI agent even when: the sender is not in BotConfig.allowed_users; the channel is not in BotConfig.allowed_channels; unknown_user_policy="deny" is configured; and the same event content is correctly dropped by the normal message handler. This issue has been patched in version 4.6.59.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

