CRITICAL🇬🇧 English

CVE-2026-44336

Path Traversal i RCE w PraisonAI MCP Server (serwer narzędzi plikowych)

CVSS 9.4v4.0pub. 2026-05-08upd. 2026-05-11

Podatność w serwerze MCP systemu PraisonAI umożliwia nieuwierzytelnionemu zdalnie atakującemu wyjście poza wyznaczony katalog roboczy poprzez path traversal i zapis dowolnych plików. W konsekwencji możliwe jest uzyskanie wykonania arbitralnego kodu (RCE) w każdym kolejnym procesie Python uruchomionym przez użytkownika.

Pokaż oryginał (EN)

PraisonAI is a multi-agent teams system. Prior to version 4.6.34, PraisonAI's MCP (Model Context Protocol) server (praisonai mcp serve) registers four file-handling tools by default — praisonai.rules.create, praisonai.rules.show, praisonai.rules.delete, and praisonai.workflow.show. Each accepts a path or filename string from MCP tools/call arguments and joins it onto ~/.praison/rules/ (or, for workflow.show, accepts an absolute path) with no containment check. The JSON-RPC dispatcher passes params["arguments"] blind to each handler via **kwargs without validating against the advertised input schema. By setting rule_name="../../<some-path>" an attacker walks out of the rules directory and writes any file the running user can write. Dropping a Python .pth file into the user site-packages directory escalates this primitive to arbitrary code execution in any subsequent Python process the user spawns — the next praisonai CLI invocation, an IDE script run, the user's python REPL, or any background Python service. This issue has been patched in version 4.6.34.

🤖 Analiza AI
Jak działa

Serwer MCP (`praisonai mcp serve`) rejestruje cztery narzędzia do obsługi plików, które przyjmują parametr ścieżki lub nazwy pliku z argumentów wywołania JSON-RPC i łączą go bezpośrednio z katalogiem `~/.praison/rules/` bez żadnej weryfikacji zawierania (containment check). Dyspozytor JSON-RPC przekazuje parametry `params["arguments"]` wprost do każdego handlera bez walidacji względem zadeklarowanego schematu wejścia. Atakujący może ustawić wartość `rule_name="../../<dowolna-ścieżka>"`, co pozwala na wyjście z katalogu reguł i zapis pliku w dowolnym miejscu dostępnym dla bieżącego użytkownika. Umieszczenie złośliwego pliku `.pth` w katalogu `site-packages` użytkownika skutkuje wykonaniem dowolnego kodu Python przy każdym kolejnym uruchomieniu procesu Python — w tym przy wywołaniu CLI `praisonai`, uruchomieniu skryptu w IDE, sesji REPL lub działającym w tle serwisie Python.

Skutki

Atakujący może zapisać dowolny plik w zasięgu uprawnień uruchomionego użytkownika, a poprzez zapis złośliwego pliku `.pth` do katalogu `site-packages` uzyskać trwałe i automatyczne wykonanie arbitralnego kodu we wszystkich kolejnych procesach Python danego użytkownika.

Mitygacja

Należy zaktualizować PraisonAI do wersji 4.6.34 lub nowszej, w której producent wprowadził odpowiednie mechanizmy walidacji ścieżek. Szczegóły dostępne w referencjach producenta: https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-9mqq-jqxf-grvw

Kogo dotyczy

PraisonAI (produkt Praison) w wersjach wcześniejszych niż 4.6.34, korzystających z funkcji serwera MCP (`praisonai mcp serve`).

Uwagi

Podatność dotyczy wyłącznie środowisk, w których uruchomiony jest serwer MCP (`praisonai mcp serve`). Mechanizm eskalacji do RCE wykorzystuje specyfikę ładowania modułów Python przez pliki `.pth` w katalogu `site-packages` użytkownika, co sprawia, że skutki wykraczają poza bezpośredni proces serwera MCP.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
  • Praison Praisonai

    APP
    Praison
    < 4.6.34
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEPath Traversal
CWE
Referencje

Powiązane podatności

CVE-2026-41497CRITICAL9.8PL ✓ten sam produkt

Command Injection w PraisonAI — brak walidacji poleceń MCP

CVE-2026-40288CRITICAL9.8PL ✓ten sam produkt

PraisonAI — RCE i command injection przez niezaufowane pliki YAML

CVE-2026-40313CRITICAL9.1PL ✓ten sam produkt

PraisonAI – wyciek tokenów GitHub przez atak ArtiPACKED w CI/CD

CVE-2026-40289CRITICAL9.1PL ✓ten sam produkt

PraisonAI – nieuwierzytelnione przejęcie sesji przeglądarki przez WebSocket

CVE-2026-40157CRITICAL9.4PL ✓ten sam produkt

Path traversal w PraisonAI — nadpisywanie plików przez złośliwy pakiet .praison