CVE-2026-47391: CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection') in MervinPraison PraisonAI
PraisonAI is a multi-agent teams system. Prior to version 4.6.40, PraisonAI's first-party A2A server example exposes an unauthenticated A2A JSON-RPC endpoint and registers a `calculate(expression)` tool implemented with Python `eval()`. The example also binds to `0.0.0.0`. A remote unauthenticated attacker can send `message/send` to `/a2a`; the request reaches `agent.chat()`, and a real LLM can invoke the registered `calculate` tool. In testing with `gemini/gemini-2.5-flash-lite`, this resulted in arbitrary Python execution in the server process, confirmed by creation of a marker file from an unauthenticated HTTP request. The issue affects deployments following the official A2A example or similar unauthenticated public A2A deployments with unsafe tools. The default unauthenticated A2A surface also exposes task history and task cancellation APIs, increasing confidentiality and integrity impact. Version 4.6.40 patches the issue.
AI Analysis
Technical Summary
CVE-2026-47391 is an eval injection vulnerability in MervinPraison's PraisonAI affecting versions before 4.6.40. The first-party A2A server example binds to 0.0.0.0 and exposes an unauthenticated JSON-RPC endpoint that registers a 'calculate(expression)' tool implemented with Python's eval(). An attacker can remotely send a 'message/send' request to the /a2a endpoint, triggering the agent.chat() function, which invokes the vulnerable calculate tool. This leads to arbitrary Python code execution in the server process, confirmed by successful creation of files from unauthenticated HTTP requests. Additionally, the unauthenticated A2A interface exposes task history and cancellation APIs, increasing the confidentiality and integrity impact. The vulnerability is patched in version 4.6.40.
Potential Impact
An unauthenticated remote attacker can achieve arbitrary code execution on the PraisonAI server process, compromising confidentiality, integrity, and availability. The exposure of task history and cancellation APIs without authentication further increases the risk of sensitive data disclosure and unauthorized task manipulation.
Mitigation Recommendations
Upgrade PraisonAI to version 4.6.40 or later, where this vulnerability is patched. Avoid deploying the first-party A2A server example or similar configurations that expose unauthenticated JSON-RPC endpoints with unsafe tools such as those using Python eval(). Patch status is not explicitly stated in the vendor advisory, but version 4.6.40 is confirmed as fixed. No additional vendor advisory content is provided.
CVE-2026-47391: CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection') in MervinPraison PraisonAI
Description
PraisonAI is a multi-agent teams system. Prior to version 4.6.40, PraisonAI's first-party A2A server example exposes an unauthenticated A2A JSON-RPC endpoint and registers a `calculate(expression)` tool implemented with Python `eval()`. The example also binds to `0.0.0.0`. A remote unauthenticated attacker can send `message/send` to `/a2a`; the request reaches `agent.chat()`, and a real LLM can invoke the registered `calculate` tool. In testing with `gemini/gemini-2.5-flash-lite`, this resulted in arbitrary Python execution in the server process, confirmed by creation of a marker file from an unauthenticated HTTP request. The issue affects deployments following the official A2A example or similar unauthenticated public A2A deployments with unsafe tools. The default unauthenticated A2A surface also exposes task history and task cancellation APIs, increasing confidentiality and integrity impact. Version 4.6.40 patches the issue.
CVSS v3.1
Score 9.8critical
Affected software
pkg:github/mervinpraison/PraisonAIRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-47391 is an eval injection vulnerability in MervinPraison's PraisonAI affecting versions before 4.6.40. The first-party A2A server example binds to 0.0.0.0 and exposes an unauthenticated JSON-RPC endpoint that registers a 'calculate(expression)' tool implemented with Python's eval(). An attacker can remotely send a 'message/send' request to the /a2a endpoint, triggering the agent.chat() function, which invokes the vulnerable calculate tool. This leads to arbitrary Python code execution in the server process, confirmed by successful creation of files from unauthenticated HTTP requests. Additionally, the unauthenticated A2A interface exposes task history and cancellation APIs, increasing the confidentiality and integrity impact. The vulnerability is patched in version 4.6.40.
Potential Impact
An unauthenticated remote attacker can achieve arbitrary code execution on the PraisonAI server process, compromising confidentiality, integrity, and availability. The exposure of task history and cancellation APIs without authentication further increases the risk of sensitive data disclosure and unauthorized task manipulation.
Mitigation Recommendations
Upgrade PraisonAI to version 4.6.40 or later, where this vulnerability is patched. Avoid deploying the first-party A2A server example or similar configurations that expose unauthenticated JSON-RPC endpoints with unsafe tools such as those using Python eval(). Patch status is not explicitly stated in the vendor advisory, but version 4.6.40 is confirmed as fixed. No additional vendor advisory content is provided.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-05-19T19:22:45.729Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a5f96f22a4a8d59895fb2d1
Added to database: 07/21/2026, 15:57:38 UTC
Last enriched: 07/21/2026, 16:12:33 UTC
Last updated: 07/21/2026, 21:14:56 UTC
Views: 6
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.