CVE Catalog

CVE-2026-56838

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Summary

In PraisonAI, the normal recipe.run() path enforces the dangerous-tool policy via _check_tool_policy(), but the streaming path recipe.run_stream() loads the same recipe and calls _execute_recipe() without running that check. As a result, a recipe declaring execute_command in requires.tools is denied by recipe.run() but reaches the execution engine through recipe.run_stream() with allow_dangerous_tools=False.

Risk Assessment

The tool safety policy can be bypassed via the streaming path, allowing execution of dangerous tools that should be blocked. This affects versions from 4.5.87 before 4.6.59.

Recommendation

Upgrade PraisonAI to version 4.6.59 or later. Until then, avoid using recipe.run_stream() with recipes that declare dangerous tools.

Other vulnerabilities in PraisonAI

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS