CVE-2026-39891 PraisonAI has a Template Injection in Agent Tool Definitions
Attackers can execute arbitrary code via template injection in PraisonAI agent tools when user input is not escaped.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-39891?
CVE-2026-39891 is a high-severity code injection vulnerability in MervinPraison PraisonAI, published on 8 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
PraisonAI is a multi-agent teams system. Prior to 4.5.115, the create_agent_centric_tools() function returns tools (like acp_create_file) that process file content using template rendering. When user input from agent.start() is passed directly into these tools without escaping, template expressions in the input are executed rather than treated as literal text. This vulnerability is fixed in 4.5.115.
Weakness: CWE-94
Which versions are affected by CVE-2026-39891?
3 open source packages ship an affected version, including praisonai. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
praisonai PyPI | All versions | 4.5.115 |
praisonai PyPI | All versions | 4.5.115 |
praisonai PyPI | All versions | 4.5.115 |
Products include Praison Praisonai.
How do I fix CVE-2026-39891?
Upgrade praisonai to 4.5.115 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-39891 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-39891 exists.
Other vulnerabilities in MervinPraison PraisonAI
- CVE-2026-39888 PraisonAIAgents has a sandbox escape via exception frame traversal in `execute_code` (subprocess mode)
- CVE-2026-41497 Incomplete fix for CVE-2026-34935: Command Injection in MervinPraison/PraisonAI
- CVE-2026-40288 PraisonAI: Critical RCE via `type: job` workflow YAML
- CVE-2026-39890 PraisonAI Affected by Remote Code Execution via YAML Deserialization in Agent Definition Loading
- CVE-2026-34934 PraisonAI: Second-Order SQL Injection in `get_all_user_threads`
Sources
Also known as GHSA-hwg5-x759-7wjg, PYSEC-2026-2917.