CRITICAL🇬🇧 English

CVE-2026-47392

PraisonAI: Ominięcie sandboxa execute_code() — arbitralne RCE na hoście

CVSS 9.9v3.1pub. 2026-07-21

Podatność w funkcji `execute_code()` systemu PraisonAI umożliwia całkowite ominięcie piaskownicy subprocess poprzez dostęp do modułu `builtins` języka Python i wykonanie dowolnych poleceń systemowych na hoście. Luka jest krytyczna, ponieważ atakujący z minimalnym poziomem uprawnień może przejąć kontrolę nad środowiskiem uruchomieniowym.

Pokaż oryginał (EN)

PraisonAI is a multi-agent teams system. Prior to version 4.6.40 of PraisonAI, corresponding to version 1.6.40 of praisonaiagents, `execute_code()` in `praisonaiagents/tools/python_tools.py` (v1.6.37, subprocess sandbox mode) can be fully bypassed using `print.__self__` to retrieve the real Python `builtins` module, from which `__import__` can be extracted via `vars()` and runtime string construction. This achieves arbitrary OS command execution on the host, completely defeating the sandbox. This is a novel bypass that survives all patches for CVE-2026-39888 (frame traversal), CVE-2026-34938 (str subclass), and CVE-2026-40158 (`type.__getattribute__` trampoline). PraisonAI version 4.6.40 and praisonaiagents version 1.6.40 contain an updated fix.

🤖 Analiza AI
Jak działa

Podatność polega na tym, że mechanizm sandboxa w pliku `praisonaiagents/tools/python_tools.py` (tryb subprocess, wersja v1.6.37) nie blokuje dostępu do wbudowanego modułu `builtins` poprzez obiekt `print.__self__`. Atakujący może pobrać referencję do prawdziwego modułu `builtins`, a następnie za pomocą funkcji `vars()` oraz dynamicznej konstrukcji ciągu znaków wyodrębnić z niego funkcję `__import__`. To pozwala na zaimportowanie dowolnego modułu i wykonanie poleceń systemu operacyjnego, całkowicie omijając mechanizmy ochronne sandboxa. Opisana technika jest nowym wektorem, który nie był blokowany przez poprzednie poprawki dotyczące CVE-2026-39888, CVE-2026-34938 ani CVE-2026-40158.

Skutki

Atakujący uwierzytelniony z niskim poziomem uprawnień może wykonać dowolne polecenia systemu operacyjnego na hoście, co prowadzi do pełnego naruszenia poufności, integralności i dostępności systemu oraz potencjalnie do przejęcia kontroli nad całym środowiskiem.

Mitygacja

Należy zaktualizować PraisonAI do wersji 4.6.40 oraz praisonaiagents do wersji 1.6.40, które zawierają poprawkę eliminującą opisany wektor ataku. Szczegóły dostępne w referencjach producenta (GitHub Security Advisory GHSA-4mr5-g6f9-cfrh).

Kogo dotyczy

PraisonAI w wersjach wcześniejszych niż 4.6.40 oraz praisonaiagents w wersjach wcześniejszych niż 1.6.40

Uwagi

Podatność stanowi nowy bypass (novel bypass) przeżywający wszystkie wcześniejsze poprawki dla powiązanych CVE: CVE-2026-39888 (frame traversal), CVE-2026-34938 (str subclass) oraz CVE-2026-40158 (type.__getattribute__ trampoline), co wskazuje na systematyczne problemy z izolacją środowiska wykonawczego w tej bibliotece.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje