Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver malicious YAML workflow file
-
DeliveryTrigger 'praisonai workflow run' command
-
ExploitExecute embedded shell commands via subprocess.run()
-
ExecutionExecute arbitrary Python code via exec()
-
PersistCompromise host system credentials
-
ImpactEstablish persistence or pivot to
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques 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 | No special conditions — remote unauthenticated exploitation against default configurations of PraisonAI versions below 4.5.139 and praisonaiagents below 1.5.140 when running untrusted YAML workflow files via 'praisonai workflow run' command. |
| Impact | This vulnerability presents critical real-world risk across multiple deployment scenarios. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N) indicates network-accessible exploitation with low complexity, requiring no authentication or user interaction-the most severe combination possible. The scope remains unchanged (S:U), but all CIA triad elements are rated high impact (C:H/I:H/A:H), justifying the 9.8 critical score. Real-world risk is amplified in CI/CD pipelines where workflow files may be automatically pulled from repositories, in collaborative environments with shared workflow templates, and in multi-tenant deployments where users can supply workflow definitions. The attack requires only the ability to influence a YAML file processed by the 'praisonai workflow run' command, making it highly automatable. While no EPSS score or CISA KEV status is available, the technical barrier to exploitation is minimal-an attacker simply crafts a YAML file with malicious 'run:' or 'script:' directives. The GitHub security advisory confirms vendor acknowledgment. This is a genuine critical-priority issue, not inflated by CVSS scoring, as it enables immediate system compromise with no defensive barriers. Organizations using PraisonAI in automated or multi-user contexts face immediate remote code execution exposure. |
| Exploit ScenarioDerived | An attacker targeting a development team using PraisonAI in their CI/CD pipeline submits a pull request to a shared repository containing a seemingly legitimate workflow YAML file with malicious 'run:' directives. When the automated pipeline executes 'praisonai workflow run malicious.yaml', the embedded commands execute with the privileges of the CI runner, allowing the attacker to exfiltrate secrets, inject backdoors into build artifacts, or pivot to connected infrastructure. In multi-tenant platforms, a malicious user uploads a workflow file containing 'script:' blocks with Python code that establishes reverse shells or harvests credentials from the host environment. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 14, 2026
Arbitrary command and code execution in PraisonAI's workflow engine (versions <4.5.139) and praisonaiagents (<1.5.140) allows remote unauthenticated attackers to execute shell commands and Python code through malicious YAML workflow files. The vulnerability stems from unsafe processing of 'run:', 'script:', and 'python:' directives in job-type workflows without validation or sandboxing. With a critical CVSS score of 9.8 and network-accessible attack vector requiring no privileges or user interac
Earlier versions of this analysis (1)
Arbitrary command and code execution in PraisonAI's workflow engine (versions <4.5.139) and praisonaiagents (<1.5.140) allows remote unauthenticated attackers to execute shell commands and Python code through malicious YAML workflow files. The vulnerability stems from unsafe processing of 'run:', 'script:', and 'python:' directives in job-type workflows without validation or sandboxing. With a critical CVSS score of 9.8 and network-accessible attack vector requiring no privileges or user interaction, this poses severe risk in CI/CD pipelines, shared repositories, and multi-tenant environments. EPSS data not available; no public exploit identified at time of analysis, though exploitation is trivial given the straightforward command injection vector.
RemediationAI
Immediately upgrade to PraisonAI version 4.5.139 or later and praisonaiagents version 1.5.140 or later, which contain fixes for the arbitrary command execution vulnerability. Update via Python package manager using 'pip install --upgrade praisonai praisonaiagents' and verify installed versions with 'pip show praisonai praisonaiagents'. Until patching is complete, implement strict controls on workflow YAML file sources: prohibit processing of user-supplied or externally-sourced workflow files, implement mandatory code review for all workflow definitions before execution, and restrict workflow execution permissions to trusted administrators only. In CI/CD environments, validate and sanitize workflow files before processing, use isolated execution environments with restricted permissions, and consider disabling the job workflow feature entirely if not operationally required. Review audit logs for suspicious 'praisonai workflow run' invocations with external YAML files. The vendor security advisory at https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-vc46-vw85-3wvm provides additional technical details and confirms patch availability. No workarounds fully mitigate the risk; upgrading is the only complete remediation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages 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 multi-agent teams system with workflow orchestration capabilities. The vulnerability resides in the JobWorkflowExecutor component (job_workflow.py) and workflow.py's action_run() function, which process YAML-defined workflows. When a YAML file specifies 'type: job', the engine parses step definitions containing 'run:' (executed via subprocess.run()), 'script:' (evaluated through Python's exec()), and 'python:' (arbitrary script execution) directives. The root cause is CWE-78 (OS Command Injection), but extends to arbitrary code execution through multiple vectors. None of the three execution methods implement input validation, path restrictions, or sandboxing mechanisms. The affected products are mervinpraison:praisonai (Python package) and mervinpraison:praisonaiagents, both part of an AI agent framework ecosystem. The workflow execution model treats YAML files as trusted input, creating a fundamental trust boundary violation when processing externally-sourced or user-controlled workflow definitions.
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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from Vendor (GitHub_M) · only source for this CVE.
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
PraisonAI is a multi-agent teams system. In versions below 4.5.139 of PraisonAI and 1.5.140 of praisonaiagents, the workflow engine is vulnerable to arbitrary command and code execution through untrusted YAML files. When praisonai workflow run <file.yaml> loads a YAML file with type: job, the JobWorkflowExecutor in job_workflow.py processes steps that support run: (shell commands via subprocess.run()), script: (inline Python via exec()), and python: (arbitrary Python script execution)-all without any validation, sandboxing, or user confirmation. The affected code paths include action_run() in workflow.py and _exec_shell(), _exec_inline_python(), and _exec_python_script() in job_workflow.py. An attacker who can supply or influence a workflow YAML file (particularly in CI pipelines, shared repositories, or multi-tenant deployment environments) can achieve full arbitrary command execution on the host system, compromising the machine and any accessible data or credentials. This issue has been fixed in versions 4.5.139 of PraisonAI and 1.5.140 of praisonaiagents.
Executive ViewAI
PraisonAI workflow engine versions below 4.5.139 and praisonaiagents below 1.5.140 contain a critical remote code execution vulnerability allowing unauthenticated attackers to execute arbitrary commands through malicious YAML files, creating immediate risk for any organization using these tools in CI/CD pipelines, automation workflows, or shared development environments. This vulnerability directly threatens infrastructure security and data integrity without requiring exploitation sophistication.
Until vendor patch is applied: (1) Restrict YAML workflow file sources to authenticated, code-reviewed repositories only; (2) Implement strict input validation to reject 'run:', 'script:', and 'python:' directives in untrusted YAML files; (3) Execute workflow engines in isolated containers with minimal OS permissions and no shell access; (4) Monitor workflow execution logs for suspicious command patterns; (5) Disable automatic workflow triggering from external or user-submitted YAML sources; (6) Require manual approval for all workflow executions until patched versions are deployed.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
Related Vulnerabilities in PraisonAI Code Execution Vulnerabilities
View all 2Remote code execution in PraisonAI before 1.6.78 allows attackers to run arbitrary Python on the host by manipulating th
PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans
WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att
PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne
System prompt extraction and unauthorized tool invocation in PraisonAI before 4.6.78 arise because the prompt-injection
Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller
SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou
Server-side request forgery in PraisonAI's Crawl4AI/Chromium crawling backend (all versions before 1.6.78) lets low-priv
Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec
Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u
Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d
Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf
EUVD-2026-22209
GHSA-vc46-vw85-3wvm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB