PraisonAI vulnerable to Remote Code Execution via Broken AST Sandbox
CVE-2026-61438
Summary JobWorkflowExecutor.execinlinepython() is designed to safely execute inline Python expressions from YAML workflow script: steps using AST validation. The function claims to block dangerous operations by (a) checking all AST nodes against an allowlist, and (b) providing a builtins whitelist that omits import, exec, eval, and open. The sandbox is broken. The module import allowlist (allowedmodules) explicitly includes 'os', and the AST allowlist permits ast.Import, ast.ImportFrom, ast.Call, and ast.Attribute nodes. This means the following malicious workflow script: step passes all AST validation checks and executes without error. Attack Scenario Attacker creates or contributes a YAML workflow file (type: job) with a script: step containing import os; os.system(...). A user or CI pipeline with PRAISONAIALLOWJOBWORKFLOWS=true executes the workflow via praisonai workflow run malicious.yaml. Arbitrary OS commands execute with the privileges of the calling process. This is particularly dangerous in multi-tenant or CI environments where YAML workflows may originate from untrusted sources (e.g., downloaded templates, shared repositories, AI-generated workflows). PoC Complete…
Assessment
- CVSS
- 7.3 (v3.1)
- Severity
- High
- EPSS
- 0.0031% chance of exploitation in the next 30 days
- Known exploited
- Not listed in CISA KEV
- Exploit availability
- Nothing found in Exploit-DB, Metasploit, Nuclei or public PoC repositories
- Published
- 29 October 2026
- Last updated
- 29 October 2026
- Affected
- pip · praisonai
- Weakness
- CWE-184, CWE-693, CWE-78
CVSS vectorCVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
At the source
References
- https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-26mh-57q7-jfvr
- https://nvd.nist.gov/vuln/detail/CVE-2026-61438
- https://nvd.nist.gov/vuln/detail/CVE-2026-62248
- https://www.vulncheck.com/advisories/praisonai-before-remote-code-execution-via-broken-ast-sandbox
- https://github.com/advisories/GHSA-26mh-57q7-jfvr
Query this programmatically
Agents can read this through the MCP endpoint, or over HTTP:
curl https://cve.zerocrew.in/api/cve/CVE-2026-61438