Description
PraisonAI is a multi-agent teams system. Prior to version 4.6.40, the fix for GHSA-9mqq-jqxf-grvw / CVE-2026-44336 is incomplete. The original advisory description named four vulnerable handlers in `mcp_server/adapters/cli_tools.py`. Commit `68cc9427` ("fix(security): harden MCP rules path handling…") added a `_resolve_rule_path()` helper and applied it to `rules.create`, `rules.show`, and `rules.delete`. `workflow.show` was left unchanged. Two adjacent handlers in the same file have the same pattern, `workflow.validate` and `deploy.validate`. Neither was mentioned in the original advisory. Both remained unchanged. The original advisory also identified the dispatcher (`server.py:281-298`) as a root cause. It accepts unvalidated `**kwargs` from `params["arguments"]` with no enforcement against the tool's declared `input_schema`. That code is unchanged prior to version 4.6.40. A single unauthenticated MCP `tools/call` to `praisonai.workflow.show` returns the contents of any file the host user can read: `/etc/passwd`, `~/.ssh/id_rsa`, `~/.aws/credentials`, or any project `.env`. Version 4.6.40 contains an updated fix.
Published: 2026-07-21
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

PraisonAI’s MCP interface allows an attacker to invoke workflow.show, workflow.validate, or deploy.validate without authenticating. The underlying handlers, along with the dispatcher in server.py that accepts unvalidated kwargs, return the contents of any file that the host user can read, such as /etc/passwd, ~/.ssh/id_rsa, or project .env files. The weakness arises from insufficient path resolution and lack of input validation, resulting in CWE-200 (Information Exposure), CWE-22 (Path Traversal), and CWE-862 (Missing Authorization). The primary impact is direct confidentiality loss of host files, potentially exposing system credentials and sensitive data.

Affected Systems

The vulnerability exists in MervinPraison’s PraisonAI software in versions older than 4.6.40. The affected handlers reside in mcp_server/adapters/cli_tools.py and the dispatcher in server.py. The affected products are explicitly listed as “MervinPraison:PraisonAI”.

Risk and Exploitability

The CVSS score of 8.7 highlights a high severity rating, yet the EPSS score is below 1%, suggesting a low likelihood of exploitation in the wild. The vulnerability is not listed in the CISA KEV catalog, indicating no publicly disclosed exploits as of now. Attack execution requires the attacker to send an unauthenticated MCP call to tools/call targeting one of the vulnerable endpoints, which can be performed locally or remotely if the MCP service is exposed. Because the view is unrestricted, any file readable by the host user can be exfiltrated without additional privileges.

Generated by OpenCVE AI on July 30, 2026 at 17:11 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade PraisonAI to version 4.6.40 or later, which applies the missing fix to the workflow.validate and deploy.validate handlers and hardens the dispatcher’s argument handling.
  • Restrict access to the MCP endpoints workflow.show, workflow.validate, and deploy.validate by enabling authentication or disabling them for unauthenticated users wherever possible.
  • Disable or block external access to the MCP service if it is not required, ensuring only trusted internal systems can communicate with the service.
  • Verify that the dispatcher’s input handling validates arguments against the declared input_schema and enforces authorization, and consider hardening this code if custom handlers are added.

Generated by OpenCVE AI on July 30, 2026 at 17:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9cr9-25q5-8prj PraisonAI vulnerable to unauthenticated arbitrary file read via MCP workflow.show, workflow.validate, deploy.validate
History

Tue, 21 Jul 2026 23:15:00 +0000

Type Values Removed Values Added
First Time appeared Mervinpraison
Mervinpraison praisonai
Vendors & Products Mervinpraison
Mervinpraison praisonai

Tue, 21 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 21 Jul 2026 16:00:00 +0000

Type Values Removed Values Added
Description PraisonAI is a multi-agent teams system. Prior to version 4.6.40, the fix for GHSA-9mqq-jqxf-grvw / CVE-2026-44336 is incomplete. The original advisory description named four vulnerable handlers in `mcp_server/adapters/cli_tools.py`. Commit `68cc9427` ("fix(security): harden MCP rules path handling…") added a `_resolve_rule_path()` helper and applied it to `rules.create`, `rules.show`, and `rules.delete`. `workflow.show` was left unchanged. Two adjacent handlers in the same file have the same pattern, `workflow.validate` and `deploy.validate`. Neither was mentioned in the original advisory. Both remained unchanged. The original advisory also identified the dispatcher (`server.py:281-298`) as a root cause. It accepts unvalidated `**kwargs` from `params["arguments"]` with no enforcement against the tool's declared `input_schema`. That code is unchanged prior to version 4.6.40. A single unauthenticated MCP `tools/call` to `praisonai.workflow.show` returns the contents of any file the host user can read: `/etc/passwd`, `~/.ssh/id_rsa`, `~/.aws/credentials`, or any project `.env`. Version 4.6.40 contains an updated fix.
Title PraisonAI vulnerable to unauthenticated arbitrary file read via MCP workflow.show, workflow.validate, deploy.validate
Weaknesses CWE-200
CWE-22
CWE-862
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Mervinpraison Praisonai
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-21T18:01:03.736Z

Reserved: 2026-05-19T19:22:45.729Z

Link: CVE-2026-47394

cve-icon Vulnrichment

Updated: 2026-07-21T18:00:24.938Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T17:15:12Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-862

    Missing Authorization