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
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