Skip to main content
← All vulnerabilities
CVE-2026-56838GHSA-V847-HXXW-3PXGPYSEC-2026-3520

PraisonAI recipe.run_stream skips dangerous-tool policy enforcement

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.6.59
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

PraisonAI, a multi-agent teams system, has a flaw in its recipe streaming function (recipe.run_stream) that skips the check blocking dangerous tools such as command execution, so recipes that declare those tools can run even when the caller has not allowed them. The non-streaming recipe.run() path still enforces the restriction, so the bypass affects only the streaming path.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original description

PraisonAI is a multi-agent teams system. From version 4.5.87 to before version 4.6.59, PraisonAI recipe execution blocks default-denied dangerous tools unless the caller explicitly passes allow_dangerous_tools=True. The normal recipe.run() path enforces this with _check_tool_policy(). The streaming path, recipe.run_stream(), loads the same recipe, checks dependencies, and then calls _execute_recipe() without running the dangerous-tool policy check. As a result, a recipe that honestly declares execute_command in TEMPLATE.yaml requires.tools is denied by recipe.run(), but reaches the execution engine through recipe.run_stream() with allow_dangerous_tools=False. This issue has been patched in version 4.6.59.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  4. Record last updated

Affected versions

  • MervinPraison PraisonAI

    From 4.5.87 · fixed in 4.6.59

  • praisonaiPyPI

    From 4.5.87 · fixed in 4.6.59

References 1

GitHub · MervinPraison/PraisonAI