CVE-2026-44336CWE-20CWE-22CWE-829CWE-913CWE-94

PraisonAI MCP `tools/call` path-traversal and RCE via Python `.pth` injection

Critical · published May 8, 2026

CVSS v4.0
9.4
EPSS
1%
Percentile
51.6
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v4.0
9.4 · CRITICAL
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
EPSS
0.00674 · 51.6th percentile
Weaknesses
CWE-20 · Improper Input Validation; CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal'); CWE-829 · Inclusion of Functionality from Untrusted Control Sphere; CWE-913 · Improper Control of Dynamically-Managed Code Resources; CWE-94 · Improper Control of Generation of Code ('Code Injection')
Published
2026-05-08T13:32Z
EPSS history
Timeline
  • 08 MAY 13:32Z
    PraisonAI MCP `tools/call` path-traversal and RCE via Python `.pth` injection
    cvelistv5