IT SBIT Services
Schneeberger
DEEN
CVE tracker

PraisonAI: Recipe policy bypass allows execution of dangerous shell tool

CVE-2026-57142High 7.8

← All vulnerabilities

Summary

PraisonAI's recipe runner blocks default-denied dangerous tools such as execute_command unless the caller sets allow_dangerous_tools=True. That check only inspects tools listed in TEMPLATE.yaml, so a steps-based recipe can declare execute_command in workflow.yaml and approve it through approve:, bypassing the check. If an operator runs such an untrusted recipe, the shell tool can run with the privileges of the PraisonAI process when the agent reaches the tool call.

Affected

  • PraisonAI (pip package praisonai) from 4.5.87 up to but not including 4.6.61 (CVE record).
  • The GitHub advisory lists the range as up to 4.6.57.

Fixed in

  • Upgrade to PraisonAI 4.6.61 or later.

Workaround

  • No vendor workaround documented beyond upgrading.
  • Run only trusted recipes.
  • Restrict who can select recipe names or URIs.
  • Do not expose the recipe runner or Jobs API to untrusted users.

Exploitation

  • Public proof of concept available (local, harmless printf canary).
  • CISA SSVC: exploitation poc, not automatable.
  • No known exploitation in the wild.
  • EPSS 0.00146 (low).

Our recommendation

  • Inventory PraisonAI installations (pip show praisonai) and check for versions 4.5.87 to before 4.6.61.
  • Upgrade to 4.6.61 or later, preferably the newest release.
  • Until upgraded, run only trusted recipes and restrict who can choose recipes.
  • Review recipe and workflow files for dangerous tools declared outside TEMPLATE.yaml and for approve: entries.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 22:40.

Original description (NVD)

PraisonAI is a multi-agent teams system. From version 4.5.87 to before version 4.6.61, PraisonAI recipe execution has a dangerous-tool policy that is supposed to block default-denied tools unless the caller explicitly passes allow_dangerous_tools=True. That policy only checks tools declared in TEMPLATE.yaml requires.tools. For steps-based recipes, the actual execution path loads workflow.yaml with YAMLWorkflowParser. That parser resolves agent-level tools: declarations and preserves top-level approve:. Workflow.start() then installs those YAML-approved tools into the approval context. As a result, an untrusted recipe can omit execute_command from TEMPLATE.yaml requires.tools, declare it in workflow.yaml agents.*.tools, and add top-level approve: [execute_command]. The caller did not set allow_dangerous_tools=True, but the recipe policy allows the recipe and the workflow approval path self-approves the critical shell tool. This issue has been patched in version 4.6.61.

NVD references (2)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.