CVE-2026-62176: PraisonAI: code injection in deploy API enables RCE
GHSA-g6j7-pffp-8whgCRITICALPoC AVAILABLECISA: ATTENDPraisonAI, a multi-agent orchestration framework, has a code injection flaw (CVE-2026-62176) in `deploy/api.py`. The `agents_file` parameter is interpolated directly into an f-string, written to a Python file and run with `subprocess.Popen()`, so whoever controls that value runs arbitrary code on the host. It scores CVSS 9.1 (critical), but exploitation requires high privileges (PR:H). In practice that means access to the CLI, the configuration or an upstream API that feeds the parameter. No public exploit, Nuclei template or KEV listing exists, and there is no EPSS data, so there is no evidence of active exploitation today. Blast radius is limited by only 1 downstream dependent, but the package has 164 other CVEs, which points to a weak security posture overall. Upgrade to 4.6.78 or later, and until then don't let untrusted sources reach the deployment command or any wrapper that builds `agents_file`.
What is the risk?
Medium-high in practice, critical on paper (CVSS 9.1). Network vector, low complexity and no user interaction, but it needs high privileges, which cuts exposure to environments where the deployment parameter is reachable by semi-trusted users, automation pipelines or upstream APIs. Scope is Changed (S:C), so a compromise can spread beyond the vulnerable component. There is no public exploit, no KEV listing, no EPSS data and no SSVC decision. The package's history (164 other CVEs) and its 0/100 risk score argue for caution. Exploitation is trivial once the input is controlled, because it is a plain f-string injection.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| PraisonAI | pip | <= 4.6.77 | 4.6.78 |
Do you use PraisonAI? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step1) Upgrade praisonai to >= 4.6.78. 2) Until patched, block untrusted input from reaching
agents_filein the CLI, configuration files and any API or wrapper that invokes deploy; accept only fixed paths from an allowlist. 3) Limit who can run deployment commands and edit agent configuration (least privilege). 4) Run the deploy process in a container or sandbox with minimal credentials and restricted egress. 5) Detection: audit generated server files and child processes spawned bysubprocess.Popenfrom the PraisonAI deploy; look for unexpected Python code, quotes or special characters inagents_filevalues; review logs for deployments with unusual paths. 6) Rotate LLM and tool API keys if suspicious activity is found. 7) Inventory every PraisonAI use withpip listand SBOM scans.
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-62176?
PraisonAI, a multi-agent orchestration framework, has a code injection flaw (CVE-2026-62176) in `deploy/api.py`. The `agents_file` parameter is interpolated directly into an f-string, written to a Python file and run with `subprocess.Popen()`, so whoever controls that value runs arbitrary code on the host. It scores CVSS 9.1 (critical), but exploitation requires high privileges (PR:H). In practice that means access to the CLI, the configuration or an upstream API that feeds the parameter. No public exploit, Nuclei template or KEV listing exists, and there is no EPSS data, so there is no evidence of active exploitation today. Blast radius is limited by only 1 downstream dependent, but the package has 164 other CVEs, which points to a weak security posture overall. Upgrade to 4.6.78 or later, and until then don't let untrusted sources reach the deployment command or any wrapper that builds `agents_file`.
Is CVE-2026-62176 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-62176, increasing the risk of exploitation.
How to fix CVE-2026-62176?
1) Upgrade praisonai to >= 4.6.78. 2) Until patched, block untrusted input from reaching `agents_file` in the CLI, configuration files and any API or wrapper that invokes deploy; accept only fixed paths from an allowlist. 3) Limit who can run deployment commands and edit agent configuration (least privilege). 4) Run the deploy process in a container or sandbox with minimal credentials and restricted egress. 5) Detection: audit generated server files and child processes spawned by `subprocess.Popen` from the PraisonAI deploy; look for unexpected Python code, quotes or special characters in `agents_file` values; review logs for deployments with unusual paths. 6) Rotate LLM and tool API keys if suspicious activity is found. 7) Inventory every PraisonAI use with `pip list` and SBOM scans.
What systems are affected by CVE-2026-62176?
This vulnerability affects the following AI/ML architecture patterns: Agent frameworks, Multi-agent orchestration, Agent deployment and serving APIs, CI/CD pipelines for AI agents.
What is the CVSS score for CVE-2026-62176?
CVE-2026-62176 has a CVSS v3.1 base score of 9.1 (CRITICAL). The EPSS exploitation probability is 0.46%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0049Exploit Public-Facing ApplicationAML.T0050Command and Scripting InterpreterAML.T0083Credentials from AI Agent ConfigurationAML.T0112.000Local AI AgentCompliance Controls Affected
What are the technical details?
Original Advisory
PraisonAI is a multi-agent teams system. Prior to version 4.6.78, the `deploy/api.py` module generates Python server code by directly interpolating the `agents_file` parameter into an f-string that is then written to a file and executed via `subprocess.Popen()`. An attacker who controls the `agents_file` value (via CLI argument, configuration, or upstream API) can inject arbitrary Python code. Version 4.6.78 patches the issue.
Exploitation Scenario
An attacker gets privileged access to a platform that lets teams deploy PraisonAI agents, for example a compromised internal account, a pipeline that takes the agents file name from a configuration repository, or an upstream API with weak validation. They supply an `agents_file` value containing a closing quote and Python statements, for example one that opens a reverse shell or reads environment variables. The deploy module writes it into the generated server file and `Popen` runs it. The attacker then has code execution on the agent host, steals LLM API keys and tool credentials, and uses the agents' access to reach internal data and systems.
Weaknesses (CWE)
CWE-94Improper Control of Generation of Code ('Code Injection')PrimaryCWE-94Improper Control of Generation of Code ('Code Injection')PrimaryCWE-94Improper Control of Generation of Code ('Code Injection')CWE-94 — Improper Control of Generation of Code ('Code Injection'): The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
- [Architecture and Design] Refactor your program so that you do not have to dynamically generate code.
- [Architecture and Design] Run your code in a "jail" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which code can be executed by your product. Examples include the Unix chroot jail and AppArmor. In general, managed code may provide some protection. This may not be a feasible solution, and it only limits the impact to the operating system; the rest of your 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:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:HReferences
Timeline
Related Vulnerabilities
CVE-2026-4816810.0PraisonAI: shell injection in Claude Action enables RCE
Same package: praisonaiCVE-2026-6144710.0PraisonAI: RCE via unsandboxed LLM code execution
Same package: praisonaiCVE-2026-614459.9PraisonAI: AICoder root RCE via unsanitized tool calls
Same package: praisonaiGHSA-vmmj-pfw7-fjwp9.9praisonai: sandbox escape gives RCE via codeMode tool
Same package: praisonaiCVE-2026-473929.9praisonaiagents: RCE via Python sandbox bypass
Same package: praisonai