Skip to main content

PraisonAI CVE-2026-61438

| EUVDEUVD-2026-44643 HIGH
OS Command Injection (CWE-78)
2026-07-15 VulnCheck GHSA-qh3g-555w-f82q
7.0
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
7.0 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
7.3 HIGH

Attacker must supply a local workflow file (AV:L, PR:L) that a user then runs (UI:R); sandbox escape yields full code execution, so C/I/A:H with unchanged scope.

3.1 AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
P
Scope
X

Lifecycle Timeline

3
Patch available
Jul 15, 2026 - 13:03 EUVD
Analysis Generated
Jul 15, 2026 - 12:24 vuln.today
CVE Published
Jul 15, 2026 - 11:25 cve.org
HIGH 7.0

DescriptionCVE.org

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.

AnalysisAI

OS command execution in PraisonAI before 4.6.78 lets an attacker who can supply a workflow definition escape the inline-Python sandbox and run arbitrary shell commands with the privileges of the agent process. The flaw lives in JobWorkflowExecutor._exec_inline_python(), whose AST-based validation fails to reject import os followed by os.system(), turning a malicious YAML workflow file into RCE. No public exploit code or CISA KEV listing is identified at time of analysis, though the bypass technique is described in detail in the vendor advisory.

Technical ContextAI

PraisonAI is a Python-based multi-agent orchestration framework in which workflows are defined declaratively (typically YAML) and can contain inline Python 'steps' executed by JobWorkflowExecutor. To make inline steps safe, the executor parses each step into an Abstract Syntax Tree (AST) and attempts to block dangerous operations before evaluation. The root cause is CWE-78 (OS Command Injection) arising from incomplete allow/deny logic in that AST walk: the sandbox does not fully account for module imports and attribute-call chains, so a step that performs import os and then calls os.system(...) passes validation and reaches execution. This is a classic sandbox-bypass pattern where a denylist of node types or names is insufficient to contain the full expressiveness of the Python AST. The single affected package is identified by CPE cpe:2.3:a:mervinpraison:praisonai:*:*:*:*:*:*:*:* (all versions prior to the fix).

RemediationAI

Vendor-released patch: 4.6.78 - upgrade PraisonAI to 4.6.78 or later as the primary and definitive fix, per GHSA-26mh-57q7-jfvr (https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-26mh-57q7-jfvr). Until you can upgrade, treat all workflow YAML as untrusted code: restrict who can create or modify workflow files and lock down the directories and pipelines that feed JobWorkflowExecutor so only vetted operators can supply inline-Python steps (trade-off: blocks legitimate self-service workflow authoring). Where possible, disable or avoid inline-Python steps entirely, and run the PraisonAI worker under a dedicated low-privilege service account inside a container or sandbox with no outbound network and minimal filesystem access, so that a successful command-injection is contained (trade-off: added operational overhead and possible loss of functionality for workflows that legitimately shell out). Do not rely on the built-in AST sandbox as a security boundary on pre-4.6.78 versions, since bypassing it is the vulnerability.

CVE-2026-55536 CRITICAL POC
9.1 Aug 25

WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att

CVE-2026-55541 HIGH POC
8.8 Aug 25

PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne

CVE-2026-55534 HIGH POC
8.6 Aug 25

Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller

CVE-2026-55526 HIGH POC
8.5 Aug 25

SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou

CVE-2026-55533 HIGH POC
8.2 Aug 25

Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec

CVE-2026-55528 HIGH POC
8.2 Aug 25

Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u

CVE-2026-55522 HIGH POC
7.8 Aug 05

Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d

CVE-2026-55523 HIGH POC
7.7 Aug 05

Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf

CVE-2026-55532 HIGH POC
7.6 Aug 25

Cross-site request forgery against the PraisonAI MCP HTTP-stream transport allows unauthenticated remote attackers to ex

CVE-2026-44338 HIGH POC
7.3 May 08

Remote unauthenticated access to PraisonAI's legacy Flask API server allows attackers to execute configured agent workfl

CVE-2026-55527 HIGH POC
7.1 Aug 25

Path traversal in praisonaiagents prior to 1.6.58 allows a low-privileged caller to write arbitrary JSON files to any pr

CVE-2026-55535 MEDIUM POC
6.8 Aug 25

Server-Side Request Forgery in PraisonAI before version 4.6.58 allows unauthenticated remote attackers to force the appl

Share

CVE-2026-61438 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy