Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAccess agent via chat/prompt-injection with file-tool use
-
ExploitSupply crafted path argument to read_file/list_files
-
ExecutionBreak out of the quoted path in the bridged shell string
-
ImpactExecute arbitrary commands on the compute host/container
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a deployment that instantiates a PraisonAI LocalManagedAgent or SandboxedAgent with a compute provider attached (compute="local" via the local subprocess provider, or a Docker provider) AND exposes at least one compute-bridged file tool (read_file, list_files, or write_file). The attacker must be able to influence the file path (or write_file content) argument - e.g. through prompt injection, a chat endpoint, an automation webhook, or any user-controlled agent task - so that shell metacharacters (", ;, $(), backticks, newline, #) in the path break out of the bridge's quoted command string. Limiting factors: this does NOT affect default usage without a compute provider attached (the normal read_file/list_files treat the payload as a literal path and do not expand shell metacharacters); it requires the vulnerable managed/sandboxed agent configuration and the bridged file tools to be enabled; it applies to versions >= 4.6.10 and <= 4.6.58. Notably, exploitation does NOT require the operator to grant the critical-marked execute_command tool, so least-privilege tool configurations that omit execute_command do not mitigate it. |
| Impact | This rates CVSS 8.8 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), and the signals are broadly consistent: network-reachable agent interface, low attack complexity, and full confidentiality/integrity/availability loss because the flaw yields arbitrary shell command execution in the compute environment. Authentication: the supplied vector is PR:L, so exploitation is scoped to an attacker with low-privilege access to an agent interface that can request file-tool use; however, the GHSA advisory explicitly notes that if a deployment exposes such an agent without authentication, PR:N may be appropriate - treat the privilege requirement as deployment-dependent rather than fixed. No CISA KEV listing and no EPSS score are present in the provided data, so there is no evidence of active exploitation and no modeled exploitation probability to weigh; absence of these is not evidence of safety, only of missing signals. A public proof-of-concept reproducer (a harmless local canary-based PoV) is published directly in the GHSA advisory, demonstrating the bypass, though it is not packaged as a weaponized remote exploit. The vendor priority label is 'this_week', which aligns with a serious-but-not-emergency posture: a confirmed, PoC-demonstrated code-execution flaw that requires a specific non-default deployment pattern (a compute provider attached to a managed/sandboxed agent) rather than hitting every default install. One nuance to verify: the provided vector marks S:U, but with compute="local" the injected command executes on the host rather than within the agent's intended tool sandbox, which some assessors would treat as a scope change (S:C); the Docker case stays within the container, so scope depends on the configured compute provider. |
| Exploit ScenarioDerived | An application exposes a PraisonAI LocalManagedAgent or SandboxedAgent with a compute provider attached and a restricted file-tool set (read_file/list_files) but deliberately withholds execute_command. Via a prompt-injection path, chat endpoint, or automation webhook, an attacker supplies a file path such as 'missing"; printf "$CANARY"; #', which the compute bridge wraps into cat "missing"; printf "$CANARY"; and sends to the shell-backed provider, executing attacker commands on the host (compute="local") or inside the container (Docker). A working local PoV demonstrating this is published in the GHSA advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 23, 2026
PraisonAI versions 4.6.10 through 4.6.58 allow shell command injection through its compute-bridged file tools: when a LocalManagedAgent or SandboxedAgent is instantiated with a compute provider attached, the bridge rewrites read_file, list_files and write_file into shell command strings built from raw path arguments, so a crafted path can break out of the quoting and run arbitrary commands on the host (compute="local") or inside the container (Docker). Rated CVSS 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), exploitation needs an authenticated low-privileged actor who can influence a file-tool path argument - for example via prompt injection, a chat endpoint or an automation webhook - and importantly does not require the operator to have granted the critical-marked execute_command tool, so least-privilege tool configurations do not prevent it. The vendor advisory ships a local proof-of-concept reproducer that confirms shell execution through a crafted path; no evidence of active exploitation is provided in the available data, and deployments without an attached compute provider or without the bridged file tools enabled are not affected.
RemediationAI
Vendor-released patch: upgrade praisonai to version 4.6.59, which removes the shell-string construction for file operations; the advisory (https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-w6h2-fr4q-xvxv) is the authoritative source and should be consulted before deploying. The upstream recommended stopgap, if upgrading immediately is not possible, is to remove read_file, list_files and write_file from the compute_bridged_tools set, which disables the vulnerable bridge and leaves execute_command as the only intentionally shell-backed path - at the cost of losing compute-side file operations until provider-native file APIs or structured argv passing are available. Note that this issue does not affect deployments that run the normal (non-bridged) file tools without an attached compute provider, and that restricting agent tool configuration to omit execute_command does not mitigate it, since the injection travels through the supposedly low-risk file tools. The longer-term fix direction from the vendor is provider-native read/write/list APIs with preserved path validation and workspace boundary checks, treating write_file content as data rather than shell source.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a classic OS command injection (CWE-78, with an accompanying CWE-863 authorization-bypass dimension) inside src/praisonai/praisonai/integrations/managed_local.py. The bridge declares compute_bridged_tools = {"execute_command", "read_file", "write_file", "list_files"} and, for the three file tools, _bridge_file_tool() interpolates the raw path into shell strings such as f'cat "{filepath}"', f'ls -la "{directory}"' and a f'cat > "{filepath}" << "EOF"' heredoc for writes. Those strings are handed to shell-backed providers: the local compute provider executes them via asyncio.create_subprocess_shell(...), and the Docker provider executes them as ["sh", "-c", command]. Because the low-risk read_file/list_files names and signatures are preserved while the execution primitive silently changes from a literal filesystem call to shell interpretation, a path containing ", ;, $(), backticks, a newline or
escapes the quotes and appends arbitrary commands. The upstream advisory also flags the heredoc write path as unsafe if attacker-influenced content can contain the EOF delimiter, since content is treated as shell source rather than data. The intended design is for execute_command alone to accept a shell string (and it carries critical approval semantics in the approval registry), whereas the normal, non-bridged read_file and list_files treat the same payload as a literal filename and never expand metacharacters - which is exactly how the proof-of-concept distinguishes vulnerable from non-vulnerable behavior.
Know when Praisonai gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Reachable via a network agent interface (AV:N, AC:L) by a low-privilege agent user (PR:L) with no interaction (UI:N); path injection yields full shell command execution (C:H/I:H/A:H); S:U kept per input though host breakout could argue S:C.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
PraisonAI is a multi-agent teams system. From version 4.6.10 to before version 4.6.59, LocalManagedAgent / SandboxedAgent compute bridging wraps read_file, list_files, and write_file when a compute provider is attached. The bridge converts those file operations into shell command strings using raw path arguments, then sends those strings to shell-backed compute providers. An attacker who can influence a file-tool path argument can break out of the quoted path and execute arbitrary shell commands in the compute environment. With compute="local", commands execute through the local subprocess compute provider on the host. With Docker, commands execute in the container. This issue has been patched in version 4.6.59.
Articles & Coverage 1
Technical POC Analysis
CWE-78 OS command injection (secondary CWE-863, per the advisory's own scoring: least-privilege tool configuration is bypassed).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-57117 is a high-severity shell injection flaw in PraisonAI (versions 4.6.10-4.6.58) that lets authenticated users execute arbitrary commands on the host or container, bypassing least-privilege tool restrictions. Any organization using PraisonAI's compute-bridged agents-especially with chat or webhook interfaces-faces potential full system compromise from a low-privileged actor, making immediate remediation critical.
No vendor-released patch identified at time of analysis; interim mitigations include disabling compute-bridged agents, restricting network exposure of chat/webhook endpoints, and running affected components in isolated containers with minimal privileges.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Remote code execution in PraisonAI before 1.6.78 allows attackers to run arbitrary Python on the host by manipulating th
PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans
WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att
PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne
System prompt extraction and unauthorized tool invocation in PraisonAI before 4.6.78 arise because the prompt-injection
Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller
SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou
Server-side request forgery in PraisonAI's Crawl4AI/Chromium crawling backend (all versions before 1.6.78) lets low-priv
Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec
Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u
Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d
Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf
EUVD-2026-108902
GHSA-w6h2-fr4q-xvxv
NVD
CVE.org
EPSS
Exploit-DB