PraisonAI w wersjach wcześniejszych niż 4.6.40 generuje serwer Flask API z domyślnie wyłączonym uwierzytelnieniem, co umożliwia nieautoryzowany dostęp do endpointów z poziomu sieci. Jest to szczególnie niebezpieczne, ponieważ serwer domyślnie nasłuchuje na wszystkich interfejsach sieciowych i przetwarza dane wejściowe użytkownika z dostępem do kluczy API LLM.
▸ Pokaż oryginał (EN)
PraisonAI is a multi-agent teams system. CVE-2026-44338 (GHSA-6rmh-7xcm-cpxj) documents that PraisonAI ships a code-generator (`praisonai.deploy.api.generate_api_server_code`) that emits a Flask API server with authentication disabled by default. Users who follow the documented quickstart (`praisonai deploy --type api`) get a server that binds to `0.0.0.0` per the recommended sample YAML, exposes `/chat` and `/agents` endpoints, runs `praisonai.run()` on user-supplied JSON input — LLM orchestration with the API key materials present in the process environment, and does not require any authentication. Versions prior to 4.6.40 still ship the generator with `auth_enabled` defaulting to `False`. The fix shape is opt-in via `APIConfig(auth_enabled=True, auth_token=...)`. Version 4.6.40 fixes the issue.
Generator kodu `praisonai.deploy.api.generate_api_server_code` tworzy serwer Flask, w którym parametr `auth_enabled` domyślnie ustawiony jest na `False`. Serwer uruchomiony zgodnie z dokumentowaną procedurą quickstart (`praisonai deploy --type api`) binduje się do adresu `0.0.0.0`, eksponując endpointy `/chat` oraz `/agents` bez żadnego mechanizmu uwierzytelniania. Każde żądanie do endpointu `/chat` powoduje wywołanie `praisonai.run()` na danych JSON dostarczonych przez użytkownika, przy czym w środowisku procesu dostępne są materiały kluczy API LLM. Podatność sklasyfikowana jest jako CWE-306 (brak uwierzytelnienia dla funkcji krytycznych) oraz CWE-1188 (niebezpieczna wartość domyślna).
Nieuwierzytelniony atakujący zdalnie może wykonywać dowolne żądania orkiestracji LLM kosztem właściciela kluczy API, uzyskać dostęp do eksponowanych endpointów agentów oraz potencjalnie odczytać materiały kluczy API obecne w środowisku procesu.
Należy zaktualizować PraisonAI do wersji 4.6.40 lub nowszej. Po aktualizacji uwierzytelnianie należy jawnie włączyć przez konfigurację `APIConfig(auth_enabled=True, auth_token=...)`, ponieważ poprawka ma charakter opt-in. Do czasu aktualizacji zaleca się ograniczenie dostępu do serwera API na poziomie firewall oraz unikanie wystawiania serwera publicznie.
PraisonAI w wersjach wcześniejszych niż 4.6.40, które korzystają z funkcji generowania serwera API (`praisonai deploy --type api`)
Podatność powiązana jest z wcześniej udokumentowanym zgłoszeniem CVE-2026-44338 (GHSA-6rmh-7xcm-cpxj). Poprawka dostępna w wersji 4.6.40 wprowadza uwierzytelnianie wyłącznie w trybie opt-in — sama aktualizacja nie włącza automatycznie ochrony bez zmiany konfiguracji.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H