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.
Published: 2026-10-23
Score: 7.8 High
EPSS: n/a
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

PraisonAI’s recipe.run_stream function bypasses the dangerous‑tool enforcement that the normal recipe.run() path implements. This missing check allows a recipe to declare execution of dangerous tools such as execute_command and then actually run them with the default denial of dangerous tools policy disabled. The result is that an attacker who can supply or influence recipes can execute arbitrary commands, compromising the confidentiality, integrity, and availability of the system. The flaw involves improper authentication or authorization (CWE‑693), unsafe function execution (CWE‑78), and privilege escalation or unauthorized access (CWE‑863).

Affected Systems

MervinPraison PraisonAI versions 4.5.87 through 4.6.58 are affected. The issue was patched in version 4.6.59, which restores the policy check in the streaming path.

Risk and Exploitability

The CVSS score of 7.8 classifies the vulnerability as high severity, and while EPSS data is not available, the fault is not listed in the CISA KEV catalog. The likely attack vector is local or privileged access to the system where an attacker can feed a malicious recipe to the run_stream endpoint. Successful exploitation would give the attacker the ability to run arbitrary system commands through the recipe execution engine.

Generated by OpenCVE AI on October 23, 2026 at 13:40 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update to PraisonAI 4.6.59 or later, which reinstates the dangerous‑tool policy check in the streaming path.
  • If an update cannot be applied immediately, block or remove access to the recipe.run_stream interface, or modify the code to call the _check_tool_policy() function before execution.
  • Review permissions for users or services that generate or submit recipes and ensure that only trusted entities can invoke recipes that require dangerous tools.

Generated by OpenCVE AI on October 23, 2026 at 13:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-v847-hxxw-3pxg PraisonAI recipe.run_stream skips dangerous-tool policy enforcement
History

Fri, 23 Oct 2026 14:00:00 +0000

Type Values Removed Values Added
First Time appeared Mervinpraison
Mervinpraison praisonai
Vendors & Products Mervinpraison
Mervinpraison praisonai

Fri, 23 Oct 2026 12:00:00 +0000

Type Values Removed Values Added
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.
Title PraisonAI recipe.run_stream skips dangerous-tool policy enforcement
Weaknesses CWE-693
CWE-78
CWE-863
References
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}


Subscriptions

Mervinpraison Praisonai
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-23T11:58:01.475Z

Reserved: 2026-06-23T14:55:09.117Z

Link: CVE-2026-56838

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-23T12:18:15.357

Modified: 2026-10-23T12:18:15.473

Link: CVE-2026-56838

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T13:45:17Z

Weaknesses
  • CWE-693

    Protection Mechanism Failure

  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

  • CWE-863

    Incorrect Authorization