CVE-2026-47391

CRITICALPre-NVD 9.89.8
EchelonGraph scoreLOW confidence

This critical-severity CVE scores 9.8 under the CNA's CVSS (NVD's own analysis pending). EPSS exploit probability: 0.1%, top 75% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: cna:github_m, epss
9.8
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS: 1%CVSS: 9.8Exploit: NoneExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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
9.8
EG Score
9.8(low)
EPSS
52.1%
KEV
Not listed

Published

May 29, 2026

Last Modified

July 21, 2026

Advisory Details (3)

Auto-updated Jul 22, 2026
🔬 Proof of concept available. Patch available. Sources: github_commit, github_pr, github.
github Patch Available🟡 PoC Available

Unauthenticated A2A official example can reach real LLM-driven `eval()` tool execution · Advisory · MervinPraison/PraisonAI · GitHub

https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-vg22-4gmj-prxw
github_pr Patch Available

fix: harden JWT secret defaults and replace eval() in examples (GHSA-3qg8-5g3r-79v5, GHSA-vg22-4gmj-prxw)

Patch available: MervinPraison/PraisonAI v4.6.126 (PR #1793 merged 2026-06-02)

https://github.com/MervinPraison/PraisonAI/pull/1793
github_commit Patch Available

commit e0fb8e7dd1ee (MervinPraison/PraisonAI)

Patch available: MervinPraison/PraisonAI v4.6.126 (contains commit e0fb8e7dd1ee)

https://github.com/MervinPraison/PraisonAI/commit/e0fb8e7dd1ee6759c18ed07f436c21dbd9c20747

Vendor Advisories for CVE-2026-47391(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(1 across 1 ecosystem)
PyPI(1)
PackageVulnerable rangeFixed inDependents
praisonai0.0.1 ... 4.6.9 (731 versions)4.6.40

Weakness Classification(2)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 1× in last 7d / 1× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-07-22 14:08 UTCEPSS rescore
  2. 2026-06-14 23:18 UTCEPSS rescore
  3. 2026-06-13 23:00 UTCEPSS rescore
  4. 2026-06-12 23:12 UTCEPSS rescore
  5. 2026-05-29 23:13 UTCEG score recompute

Frequently asked(5)

What is CVE-2026-47391?
CVE-2026-47391 is a critical vulnerability published on May 29, 2026. 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…
When was CVE-2026-47391 disclosed?
CVE-2026-47391 was first published in the National Vulnerability Database on May 29, 2026, with the most recent update on July 21, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-47391 actively exploited?
CVE-2026-47391 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 52.1% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-47391?
CVE-2026-47391 has a CVSS v3 base score of 9.8 (NVD). The EG score is currently aggregating — additional source signals are being incorporated as they become available..
How do I remediate CVE-2026-47391?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-47391, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-47391

Explore →

Is Your Infrastructure Affected by CVE-2026-47391?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.