CVE-2026-40288: PraisonAI: Critical RCE via `type: job` workflow YAML

Published Apr 10, 2026
·
Updated

praisonai workflow run <file.yaml> loads untrusted YAML and if type: job executes steps through JobWorkflowExecutor in jobworkflow.py.

This supports: - run: → shell command execution via subprocess.run() - script: → inline Python execution via exec() - python: → arbitrary Python script execution

A malicious YAML file can execute arbitrary host commands.

Affected Code - workflow.py → actionrun() - jobworkflow.py → execshell(), execinlinepython(), execpythonscript()

PoC Create exploit.yaml:

yaml type: job name: exploit steps: - name: write-file run: python -c "open('pwned.txt','w').write('owned')"

Run:

bash praisonai workflow run exploit.yaml

Reproduction Steps 1. Save the YAML above as exploit.yaml. 2. Execute praisonai workflow run exploit.yaml. 3. Confirm pwned.txt appears 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)

Other sources

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 jobworkflow.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 actionrun() in workflow.py and execshell(), execinlinepython(), and execpythonscript() in jobworkflow.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.

NVD

Affected Software

6 affected componentsFixes available
PraisonAI praisonai<4.5.139
pypi/praisonaiagents<1.5.140
pip/PraisonAI<=4.5.138
4.5.139
pip/praisonaiagents<=1.5.139
1.5.140
Praison PraisonAI<4.5.139
Praison Praisonaiagents Python<1.5.140

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade pip/PraisonAI to a version that resolves this vulnerability.

    Fixed in 4.5.139
  2. Upgrade

    Upgrade pip/praisonaiagents to a version that resolves this vulnerability.

    Fixed in 1.5.140
  3. Upgrade

    Upgrade PraisonAI to a version that resolves this vulnerability.

    Fixed in 4.5.139
  4. Upgrade

    Upgrade praisonaiagents to a version that resolves this vulnerability.

    Fixed in 1.5.140
  5. Operational

    Verify exploitation is not present by confirming `pwned.txt` does not appear in the working directory after remediation.

Event History

Apr 10, 2026
Advisory Published
via GitHub·07:32 PM
Data Sourced
via GitHub·07:32 PM
DescriptionSeverityWeaknessAffected Software
Apr 14, 2026
CVE Published
via MITRE·03:00 AM
Data Sourced
via MITRE·03:00 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·04:17 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·04:17 AM
Affected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-40288?

CVE-2026-40288 is classified as a critical vulnerability due to its potential for remote code execution.

2

How do I fix CVE-2026-40288?

To mitigate CVE-2026-40288, upgrade to PraisonAI version 4.5.139 or later and praisonaiagents version 1.5.140 or later.

3

What versions are affected by CVE-2026-40288?

CVE-2026-40288 affects PraisonAI versions below 4.5.139 and praisonaiagents versions below 1.5.140.

4

What type of vulnerability is CVE-2026-40288?

CVE-2026-40288 is a remote code execution (RCE) vulnerability that can be exploited through untrusted YAML files.

5

Who is the vendor associated with CVE-2026-40288?

The vendor associated with CVE-2026-40288 is PraisonAI.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203