# CVE-2026-47391: MervinPraison PraisonAI remote code execution in A2A server example

Source: https://junglewise.ai/threats/cve-2026-47391-mervinpraison-praisonai-remote-code-execution-in-a2a-server  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-21. Updated: 2026-07-21  
License: CC BY 4.0 with a link back

CVE-2026-47391 · Severity: critical · CVSS 9.8 · Published 2026-07-21

PraisonAI, a system for managing multi-agent AI teams, contained a critical security flaw in its official server examples. An attacker could remotely execute their own code on the server without needing a password by sending a specially crafted message that triggers an unsafe calculation tool. This could allow an unauthorized user to take full control of the server, access sensitive data, or disrupt AI operations.

Technologies: [praisonai (PyPI)](https://junglewise.ai/threats/technologies/pypi-praisonai). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2026-47391 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-47391 being exploited in the wild.

**How severe is CVE-2026-47391?** Critical severity, with a CVSS score of 9.8, published 21 July 2026.

**Which products and versions are affected?** praisonai (PyPI) ECOSYSTEM:introduced=0,fixed=4.6.40.

**Is there a fix for CVE-2026-47391?** Yes. praisonai (PyPI): upgrade to 4.6.40 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-47391 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-47391?** Check whether you run praisonai (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- praisonai (PyPI): upgrade to 4.6.40 or later

  ```sh
  pip install "praisonai>=4.6.40"
  ```


## Technical details

The vulnerability arises from a combination of missing authentication in the Agent-to-Agent (A2A) JSON-RPC endpoint and the use of Python's `eval()` function in a registered `calculate(expression)` tool. In the official A2A server example, the server binds to `0.0.0.0` without an `auth_token`. A remote, unauthenticated attacker can send a `message/send` request to the `/a2a` endpoint; the system passes this input to `agent.chat()`, where a Large Language Model (LLM) may invoke the `calculate` tool using attacker-supplied strings. This results in arbitrary Python execution within the server process. The issue was addressed in version 4.6.40 by replacing `eval()` with an AST-based safe evaluator and hardening default authentication settings.

## Affected products

- MervinPraison PraisonAI < 4.6.40

## Identifiers

- CVE-2026-47391
- GHSA-vg22-4gmj-prxw
- PYSEC-2026-478

## Timeline

- 2026-05-19: advisory: Initial GitHub security advisory published
- 2026-06-02: patched: Fix merged into main branch via PR #1793
- 2026-07-21: disclosed: CVE-2026-47391 published to NVD

## References

- [https://github.com/MervinPraison/PraisonAI/commit/e0fb8e7dd1ee6759c18ed07f436c21dbd9c20747](https://github.com/MervinPraison/PraisonAI/commit/e0fb8e7dd1ee6759c18ed07f436c21dbd9c20747)
- [https://github.com/MervinPraison/PraisonAI/pull/1793](https://github.com/MervinPraison/PraisonAI/pull/1793)
- [https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-vg22-4gmj-prxw](https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-vg22-4gmj-prxw)

## Related threats

- [PraisonAI authentication bypass in A2U event streaming](https://junglewise.ai/threats/cve-2026-57146-praisonai-a2u-incomplete-authentication-fix-leaves-current-serve)
- [PraisonAI sandbox escape when Landlock unavailable](https://junglewise.ai/threats/cve-2026-57144-praisonai-sandlocksandbox-falls-back-to-unrestricted-subprocess)
- [PraisonAI recipe policy bypass via YAML-approved tools](https://junglewise.ai/threats/cve-2026-57142-praisonai-recipe-workflow-policy-can-be-bypassed-by-declaring-and)
- [PraisonAI shell command injection in compute-bridged file tools](https://junglewise.ai/threats/cve-2026-57117-praisonai-compute-bridged-file-tools-allow-shell-command)
- [PraisonAI AgentOS authentication bypass in FastAPI deployment](https://junglewise.ai/threats/cve-2026-57116-praisonai-agentos-remains-unauthenticated-after-incomplete-fix)
