Podatność w funkcji execute_code() systemu PraisonAI pozwala atakującemu na całkowite ominięcie trójwarstwowego sandboxa i wykonanie dowolnych poleceń systemowych na hoście. Krytyczny charakter błędu wynika z braku wymagań uwierzytelnienia i możliwości zdalnego wykorzystania bez interakcji użytkownika.
▸ Pokaż oryginał (EN)
PraisonAI is a multi-agent teams system. Prior to version 1.5.90, execute_code() in praisonai-agents runs attacker-controlled Python inside a three-layer sandbox that can be fully bypassed by passing a str subclass with an overridden startswith() method to the _safe_getattr wrapper, achieving arbitrary OS command execution on the host. This issue has been patched in version 1.5.90.
Funkcja execute_code() uruchamia kod Python przesłany przez użytkownika wewnątrz trójwarstwowego sandboxa. Mechanizm ochronny opiera się na metodzie pomocniczej _safe_getattr, która sprawdza atrybuty przekazywanych obiektów przy użyciu metody startswith(). Atakujący może przekazać podklasę typu str z nadpisaną metodą startswith(), co powoduje, że kontrola bezpieczeństwa zwraca fałszywie pozytywny wynik, a kontrolowany przez atakującego kod Python jest wykonywany poza piaskownicą, co prowadzi do wykonania dowolnych poleceń systemowych na hoście.
Atakujący uzyskuje możliwość wykonania dowolnych poleceń systemowych na hoście (RCE) z pełną kontrolą nad poufnością, integralnością i dostępnością systemu. Błąd może prowadzić do całkowitego przejęcia serwera, wycieku danych oraz dalszego lateral movement w infrastrukturze.
Należy zaktualizować pakiet praisonai-agents do wersji 1.5.90 lub nowszej, w której podatność została usunięta. Patch dostępny jest w repozytorium producenta na GitHub.
PraisonAI (pakiet praisonai-agents) we wszystkich wersjach poprzedzających 1.5.90.
Podatność zgłoszona i załatana przez producenta — szczegóły w security advisory GHSA-6vh2-h83c-9294 na GitHub. Pomimo braku potwierdzenia aktywnego wykorzystania (brak wpisu w CISA KEV), maksymalny wynik CVSS 10.0 oraz brak wymagań uwierzytelnienia wskazują na bardzo wysokie ryzyko.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HPraison Praisonaiagents
APPPraison< 1.5.90
Powiązane podatności
PraisonAI – nieuwierzytelnione przejęcie sesji przeglądarki przez WebSocket
PraisonAI — RCE i command injection przez niezaufowane pliki YAML
Command injection w PraisonAIAgents — podatność w obsłudze hooków lifecycle
PraisonAI is a multi-agent teams system. Prior to praisonai version 4.6.9 and praisonaiagents version 1.6.9, t...
PraisonAI is a multi-agent teams system. Prior to version 1.6.32, the URL checking logic in PraisonAI has a lo...