---
title: "CVE-2026-44336: PraisonAI MCP `tools/call` path-traversal => RCE via Python `.pth` injection"
url: https://erroneo.us/security/cve/CVE-2026-44336/
description: "CVE-2026-44336 (PraisonAI (PyPI)): PraisonAI is a multi-agent teams system. Prior to version 4.6.34, PraisonAI's MCP (Model Context Protocol) server…"
type: vulnerability-record
section: "Security Digest"
date_published: 2026-05-08
date_modified: 2026-05-11
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2026-44336"
kev: false
cvss: 9.4
epss: 0.00674
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2026-44336: PraisonAI MCP `tools/call` path-traversal => RCE via Python `.pth` injection

**Signal:** Critical and remotely reachable. No known exploitation yet, but it is network-reachable without credentials. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- Not in CISA KEV , but CISA’s SSVC assessment records a public proof-of-concept, so attack code exists.
- EPSS 0.7% , percentile 52: FIRST’s model estimates a 0.7% chance of exploitation activity in the next 30 days, higher than 52% of all scored CVEs (moderate). EPSS is a probability, not a verdict.
- Only applies if your dependency tree includes PraisonAI (PyPI) <= 4.6.33, fixed in 4.6.34 . Check your lockfile, including transitive dependencies.

## 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 rulename="../../ " 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.

## Affected packages

- PyPI `PraisonAI` <= 4.6.33 → fixed: 4.6.34

## Affected products (CVE record)

- MervinPraison PraisonAI: < 4.6.34

## Severity

- GitHub_M CVSS 4.0: 9.4 `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`
- GitHub CVSS 4.0: 9.4 `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`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation poc , automatable no , technical impact total .
- FIRST EPSS (model of 2026-10-21): 0.67% probability of exploitation activity in the next 30 days; percentile 52.

## Sources

- [GitHub Advisory GHSA-9mqq-jqxf-grvw](https://github.com/advisories/GHSA-9mqq-jqxf-grvw)
- [CVE.org record CVE-2026-44336](https://www.cve.org/CVERecord?id=CVE-2026-44336)
- [NVD entry CVE-2026-44336](https://nvd.nist.gov/vuln/detail/CVE-2026-44336)
- [github.com](https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-9mqq-jqxf-grvw)

---
Source page: https://erroneo.us/security/cve/CVE-2026-44336/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
