CVE intelligence and bounded remediation

CVE-2026-44336 — PraisonAI is a multi-agent teams system

Critical CVSS 9.6

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.

Severity
Critical
CVSS
9.6 (3.1)
Published
2026-05-08
CISA KEV
Not currently listed
Ecosystem
python/pypi
Weaknesses
CWE-20, CWE-22, CWE-94, CWE-829, CWE-913

Affected products

  • praison / praisonai

Matched remediation archetype

Command, code, expression, and template injection

This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.

Check exposure

  • Trace untrusted values to process execution, interpreters, evaluators, template engines, dynamic imports, and administrative scripting features.
  • Determine whether the affected path is reachable across each trust boundary and which service account or host privilege it inherits.
  • Review configuration for optional execution features, unsafe compatibility modes, and shell invocation.

Remediate safely

  • Replace string-built commands or evaluated code with fixed operations and structured argument APIs that do not invoke a shell.
  • Use strict allowlists for operation identifiers and reject unexpected input before it reaches any interpreter.
  • Update the affected component and add inert regression tests covering metacharacters, encoding variants, and alternate request paths.

Authoritative sources

Complete CVE record and remediation plan

The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.