Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted prompt/API request
-
DeliveryInject malicious tool name
-
ExploitBypass tool registry check
-
ExecutionResolve to module globals
-
PersistExecute arbitrary callable
-
ImpactModify application state or exfiltrate data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V15 - Secure Coding and Architecture Reflection safety, class allowlisting
|
| Exploitation Conditions | Default PraisonAI agent configuration where _perm_allow is set to None (standard out-of-box setting). Attacker must have capability to influence tool-call names passed to PraisonAI agents - achievable through user-controlled prompts in conversational AI interfaces, API parameters in agent automation systems, or manipulated agent-to-agent communications in multi-agent deployments. Exploitation does NOT require: authentication, user interaction beyond normal system use, or non-default configuration. Limiting factors: attacker needs knowledge of callable names in target application's global namespace; exploitation impact constrained by permissions of the Python process running PraisonAI (cannot escape process sandbox without additional vulnerabilities). |
| Impact | The CVSS 8.6 score reflects severe risk with network attack vector (AV:N), low complexity (AC:L), and no authentication required (PR:N/UI:N), indicating straightforward remote exploitation. High integrity impact (I:H) with low confidentiality (C:L) and availability (A:L) impacts aligns with unauthorized function execution that can modify application state and potentially leak data. The vulnerability is particularly dangerous in AI agent systems where tool-call parameters may be influenced by untrusted inputs (user prompts, external data sources). No EPSS or KEV data provided, but the GitHub Security Advisory publication and straightforward exploitation path suggest moderate exploitation likelihood. The attack requires the ability to influence tool-call names, which in multi-agent AI systems may be achievable through prompt injection, API manipulation, or malicious training data. Real-world risk depends heavily on deployment context - systems processing untrusted prompts or integrating with external agents face immediate exploitation risk, while isolated internal deployments have reduced exposure. |
| Exploit ScenarioDerived | An attacker crafts a malicious prompt or API request to an AI agent system using PraisonAI, specifying a tool-call name that references a sensitive internal function (e.g., 'os.system', 'subprocess.run', or application-specific admin functions) instead of a declared tool. The PraisonAI tool resolver fails to match the declared tool list, falls back to module globals/__main__ resolution, and successfully invokes the unintended callable with attacker-controlled parameters. The attacker achieves code execution or state manipulation without authentication, potentially exfiltrating data or modifying application behavior. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 08, 2026
Remote attackers can invoke arbitrary application callables in PraisonAI multi-agent systems by manipulating tool-call names to bypass tool declaration controls. Vulnerable versions (praisonai <4.6.37, praisonaiagents <1.6.37) resolve unmatched tool names against module globals and __main__ namespaces without permission validation when _perm_allow is None (default configuration). This enables unauthorized function execution beyond the intended tool list, allowing integrity compromise and potential information disclosure. Patched versions 4.6.37 and 1.6.37 address the tool name resolution vulnerability.
RemediationAI
Upgrade immediately to patched versions: praisonai 4.6.37 or later and praisonaiagents 1.6.37 or later, both released to address this vulnerability per GitHub Security Advisory GHSA-gmjg-hv98-qggq (https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-gmjg-hv98-qggq). If immediate patching is not feasible, implement strict input validation on all tool-call name parameters, configure explicit _perm_allow whitelists to reject undeclared tool names, and review application code to ensure sensitive callables are not exposed in module globals or __main__ namespaces. Compensating controls: implement monitoring for unexpected function calls outside declared tool lists, restrict agent access to network resources to limit lateral movement if exploitation occurs, and validate all tool invocations against an explicit allowlist before execution (note this adds significant operational overhead and may break legitimate tool discovery features).
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 4 packages in pypi, euvd
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 orchestration framework that manages tool execution through declared tool registries. The vulnerability stems from CWE-470 (Use of Externally-Controlled Input to Select Classes or Code), where the tool resolution mechanism falls back to Python's module globals() and __main__ namespace after exhausting the declared tool list and registry. With the default _perm_allow=None configuration, the permission gate does not reject tool names that don't match dangerous patterns, creating a type confusion vulnerability. An attacker who controls tool-call names (potentially through prompt injection or API parameter manipulation) can reference any callable object in the application's global namespace, effectively bypassing the intended tool sandboxing and executing arbitrary Python functions that were never intended as agent tools.
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:N/UI:N/S:U/C:L/I:H/A:L
Primary rating from Vendor (github) · only source for this CVE.
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
PraisonAI is a multi-agent teams system. Prior to praisonai version 4.6.37 and praisonaiagents version 1.6.37, praisonaiagents resolves unresolved tool names against module globals and __main__ after it fails to match the declared tool list and the registry. With the default agent configuration, _perm_allow is None, so undeclared non-dangerous tool names are not rejected by the permission gate. An attacker who can influence tool-call names can therefore invoke unintended application callables that were never declared as tools. This issue has been patched in praisonai version 4.6.37 and praisonaiagents version 1.6.37.
Executive ViewAI
PraisonAI versions prior to 4.6.37 contain a critical vulnerability allowing remote attackers to execute arbitrary functions on systems running multi-agent applications, bypassing all tool access controls in default configurations. Organizations deploying PraisonAI for autonomous agent workflows face immediate risk of unauthorized code execution, data theft, and system compromise without authentication requirements.
Vendor-released patch: praisonai 4.6.37 and praisonaiagents 1.6.37. Until patched, implement network segmentation to restrict external access to PraisonAI endpoints, explicitly configure _perm_allow security policies to whitelist only approved tools, disable multi-agent tool execution where operationally feasible, and implement comprehensive runtime monitoring for unexpected function calls.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-28642
GHSA-gmjg-hv98-qggq
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB