Skip to main content

Praisonai EUVDEUVD-2026-22207

| CVE-2026-40287 HIGH
Code Injection (CWE-94)
2026-04-14 GitHub_M GHSA-g985-wjh9-qxxc
8.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Place malicious tools.py in shared workspace
  2. Delivery
    Victim launches PraisonAI in that directory
  3. Exploit
    Automatic import executes attacker code
  4. Execution
    Steal credentials from environment variables
  5. Persist
    Establish persistent backdoor
  6. Impact
    Exfiltrate sensitive project data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Attacker must place malicious tools.py in the directory where PraisonAI versions ≤4.5.138 is launched (shared project, cloned repository, or writable workspace). Local access required; no authentication or user interaction needed. Exploited automatically at startup.

Impact

Real-world risk is HIGH despite the local attack vector (AV:L) due to modern development workflow realities. The CVSS 8.4 score reflects complete confidentiality, integrity, and availability impact (C:H/I:H/A:H) with low attack complexity (AC:L) and no required privileges (PR:N) or user interaction (UI:N). While AV:L typically suggests lower priority, this vulnerability exploits realistic attack scenarios: developers cloning untrusted repositories, teams sharing project directories, containerized environments with mounted volumes, and CI/CD pipelines processing external code. The automatable nature (executes on startup without user action) significantly elevates risk in automated deployment pipelines. No EPSS score available for quantitative exploitation probability, but the triviality of exploitation (simply place a Python file) combined with widespread use of shared development environments makes this practically weaponizable. No confirmed active exploitation (CISA KEV) at time of analysis, and no public exploit identified, but proof-of-concept would be trivial to construct. The SSVC framework would classify this as high technical impact (arbitrary code execution), low-to-medium exploitation likelihood (requires local file write access), and automatable in supply chain contexts. The gap between 8.4 CVSS and real-world urgency depends entirely on organizational workspace hygiene and whether PraisonAI is used in multi-tenant or shared development environments.

Exploit ScenarioDerived

An attacker contributes to an open-source project or shares a collaborative workspace containing a malicious tools.py file disguised as legitimate AI tool extensions. When a developer clones the repository and runs PraisonAI commands for testing (such as 'praisonai --auto'), the application automatically imports and executes the attacker's tools.py code without warnings. The malicious code exfiltrates environment variables containing API keys and credentials, establishes a reverse shell to the attacker's infrastructure, and persists by modifying the developer's shell configuration files, all executing with the developer's full system privileges.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 14, 2026

Arbitrary Python code execution in PraisonAI ≤4.5.138 occurs when malicious tools.py files are automatically imported from the current working directory without validation. Attackers placing a crafted tools.py in shared projects, cloned repositories, or writable workspaces achieve immediate code execution with full process privileges upon PraisonAI startup. EPSS data not available, but the local attack vector (AV:L) requiring no privileges (PR:N) or user interaction (UI:N) enables exploitation through supply chain and workspace poisoning attacks. No public exploit identified at time of analysis, though the vulnerability is trivial to exploit given the straightforward code injection mechanism.

RemediationAI

Upgrade immediately to PraisonAI version 4.5.139 or later, which implements validation and sanitization for tools.py imports according to the vendor security advisory at https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-g985-wjh9-qxxc. For environments unable to patch immediately, implement compensating controls: restrict write permissions on directories where PraisonAI is executed to trusted users only, use read-only mounts for project directories in containerized deployments, implement mandatory code review for all tools.py files before PraisonAI execution, and consider running PraisonAI within isolated virtual environments or containers with minimal filesystem access. Organizations using PraisonAI in CI/CD pipelines should audit all repository contents before automated execution and implement allowlisting for acceptable tools.py sources. Remove or quarantine any untrusted tools.py files from working directories prior to launching PraisonAI.

Affected VersionsENISA

PraisonAI < 4.5.139
praisonaiagents < 1.5.140

Affected Packages

pypi praisonai fix: 4.5.139
pypi praisonaiagents fix: 1.5.140

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

PraisonAI is a multi-agent AI teams framework built on Python. The vulnerability stems from CWE-94 (Improper Control of Generation of Code/Code Injection) in three critical components: call.py's import_tools_from_file() function, tool_resolver.py's _load_local_tools() method, and CLI tool-loading initialization paths. These components use Python's dynamic import mechanisms to unconditionally load ./tools.py from the current working directory at application startup. The affected products include both cpe:2.3:a:mervinpraison:praisonai and cpe:2.3:a:mervinpraison:praisonaiagents packages. Python's import system executes module-level code during import operations, meaning any arbitrary Python code placed in tools.py executes immediately within the PraisonAI process context with full interpreter privileges. The lack of path validation, signature verification, sandboxing (via RestrictedPython or similar), or user confirmation transforms a legitimate extensibility feature into an automatic code execution mechanism. This represents a classic confused deputy problem where the application's trust in local filesystem contents is exploited.

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

Vendor (GitHub_M) PRIMARY 8.4 HIGH
AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Primary rating from Vendor (GitHub_M) · only source for this CVE.

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch released
Apr 15, 2026 - 02:30 nvd
Patch available
CVE Published
Apr 14, 2026 - 02:55 nvd
HIGH 8.4

DescriptionCVE.org

PraisonAI is a multi-agent teams system. Versions 4.5.138 and below are vulnerable to arbitrary code execution through automatic, unsanitized import of a tools.py file from the current working directory. Components including call.py (import_tools_from_file()), tool_resolver.py (_load_local_tools()), and CLI tool-loading paths blindly import ./tools.py at startup without any validation, sandboxing, or user confirmation. An attacker who can place a malicious tools.py in the directory where PraisonAI is launched (such as through a shared project, cloned repository, or writable workspace) achieves immediate arbitrary Python code execution in the host environment. This compromises the full PraisonAI process, the host system, and any connected data or credentials. This issue has been fixed in version 4.5.139.

Executive ViewAI

Why It Matters

PraisonAI versions 4.5.138 and earlier allow arbitrary Python code execution when the application automatically imports malicious tools.py files from the current working directory without validation, enabling attackers to gain full process-level control through supply chain poisoning or shared workspace compromise. Organizations deploying PraisonAI in collaborative development environments, CI/CD pipelines, or with untrusted repositories face immediate risk of data theft, system compromise, and lateral movement.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Run PraisonAI in restricted containers or sandboxes with minimal process privileges; (2) Enforce file integrity monitoring on tools.py imports and block execution from untrusted sources; (3) Restrict PraisonAI execution to isolated environments with no access to sensitive data or credentials; (4) Implement strict code review processes for all repository contents before cloning; (5) Disable automatic tool imports and require explicit, validated tool registration.

Threat Intelligence Overview

EPSS Score
0.0%
Top 94% exploitable
Threat Intel
1
1 source
Social Media
2
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

Related Vulnerabilities in PraisonAI Code Execution Vulnerabilities

View all 2
CVE-2026-61447 CRITICAL POC
10.0 Jul 11

Remote code execution in PraisonAI before 1.6.78 allows attackers to run arbitrary Python on the host by manipulating th

CVE-2026-57139 CRITICAL POC
9.8 Sep 15

PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans

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-61439 HIGH POC
8.7 Jul 11

System prompt extraction and unauthorized tool invocation in PraisonAI before 4.6.78 arise because the prompt-injection

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-61429 HIGH POC
8.4 Jul 11

Server-side request forgery in PraisonAI's Crawl4AI/Chromium crawling backend (all versions before 1.6.78) lets low-priv

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

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