PraisonAI: Unauthenticated RCE via `tool_override.py` (MervinPraison PraisonAI)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.25 % · percentile 16 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- GitHub_M
- NVD status
- Analyzed
Description
PraisonAI is a multi-agent teams system. From version 4.5.139 to before version 4.6.32, CVE-2026-40287's fix gated tools.py auto-import behind PRAISONAI_ALLOW_LOCAL_TOOLS=true in two files (tool_resolver.py, api/call.py). A third import sink in praisonai/templates/tool_override.py was missed and remains unguarded. It is reached by the recipe runner on every recipe execution and is remotely triggerable through POST /v1/recipes/run with a recipe value pointing at any local absolute path or any GitHub repo (because SecurityConfig.allow_any_github defaults to True). The attacker drops a tools.py next to TEMPLATE.yaml; the server exec_module()s it. No auth required by default, no environment opt-in required. This issue has been patched in version 4.6.32.
Weaknesses (CWE)
- CWE-94 — Improper Control of Generation of Code
References
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 8.4 | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | GitHub_M |
| CVSS 3.1 | HIGH 8.4 | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | NVD · security-advisories@github.com (Secondary) |
Advisories
- GHSA-xcmw-grxf-wjhj — PraisonAI has unauthenticated RCE via `tool_override.py` (CVE-2026-40287 patch bypass)
- PYSEC-2026-2926 — PraisonAI has unauthenticated RCE via `tool_override.py` (CVE-2026-40287 patch bypass)
European references
- ENISA EUVD · EUVD-2026-28636
- GCVE · GCVE-0-2026-44334
Affected configurations (NVD CPE)
cpe:2.3:a:praison:praisonai:*:*:*:*:*:*:*:*≥ 4.5.139 < 4.6.32
Affected products
| Product | Versions |
|---|---|
| MervinPraison · PraisonAI | affected >= 4.5.139, < 4.6.32 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |