Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
6DescriptionGitHub Advisory
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.
AnalysisAI
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
Technical ContextAI
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.
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.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
Cross-user flow execution in Langflow (< 1.9.1) lets any authenticated API-key holder run another user's flow by passing
Same weakness CWE-78 – OS Command Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-22209
GHSA-vc46-vw85-3wvm