Read the docs

PraisonAI before 1.6.78 Remote Code Execution via tools.py

Priority HIGH 72CWE-693Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
Security bypass, Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-693 and CWE-829.

Summary

PraisonAI (pip package praisonaiagents) before 1.6.78 contains an unsafe dynamic module loading vulnerability in AgentFlow._resolve_pydantic_class (src/praisonai-agents/praisonaiagents/workflows/workflows.py). When a workflow step uses a string output_pydantic reference, the framework locates and imports a sibling tools.py from the workflow file's directory via importlib exec_module without sandboxing, ignoring the PRAISONAI_ALLOW_*_TOOLS environment variables. An attacker who controls a workflow file and its sibling tools.py can execute arbitrary Python code with the workflow runner's privileges when the workflow is executed via WorkflowManager or after load_yaml.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00197 9th percentileScored 2026-11-07
Fix Fixed PraisonAI (MervinPraison): 1.6.78praisonaiagents (PyPI): 1.6.78

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
MervinPraisonPraisonAIbefore 1.6.781.6.78Patch availableCNA
—praisonaiagents (PyPI)before 1.6.781.6.78Patch availableGHSA-4gfv-wg42-7jw5
  • PraisonAI VendorMervinPraison Affected before 1.6.78 Fixed in 1.6.78 Patch available CNA
  • praisonaiagents (PyPI) Vendor— Affected before 1.6.78 Fixed in 1.6.78 Patch available GHSA-4gfv-wg42-7jw5

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:praison:praisonai:*:*:*:*:*:*:*:*——MervinPraison
  • cpe:2.3:a:praison:praisonai:*:*:*:*:*:*:*:* Versions — — ·MervinPraison

Remediation

  • Fix · CNA PraisonAI (MervinPraison) Fixed in 1.6.78
  • Fix · GHSA-4gfv-wg42-7jw5 praisonaiagents (PyPI) Fixed in 1.6.78 Advisory →

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    MervinPraison PraisonAI 1.6.78

    3 records Highest priority Priority HIGH 1 HIGH, 2 MEDIUM

    Other records, highest priority first

    • TI-2026-44037 PraisonAI FastContext before 1.6.78 Path TraversalPriority MEDIUM 64
    • TI-2026-42819 PraisonAI before 1.6.78 Path Traversal via config.tomlPriority MEDIUM 64

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-61437
  2. 2026-10-03 Alias added: GHSA-c6pq-cprj-62fw
  3. 2026-10-08 Alias added: GHSA-4gfv-wg42-7jw5
  4. 2026-10-08 Fix available: PyPI/[email protected] · GHSA-4gfv-wg42-7jw5
  5. 2026-10-08 CVSS score added · GHSA-4gfv-wg42-7jw5
  6. 2026-10-08 Weakness changed · GHSA-4gfv-wg42-7jw5
  7. 2026-10-08 3 new references · GHSA-4gfv-wg42-7jw5

References

  • TI-2026-79619 Missing authentication in PraisonAI AgentOS exposes agent chat CVSS 3.1CRITICAL 9.8
  • TI-2026-71236 Missing access control in PraisonAI AgentTeam exposes agent endpoints CVSS 3.1CRITICAL 9.8
  • TI-2026-44052 PraisonAI before 1.6.78 Remote Code Execution via CodeAgent CVSS 4.0CRITICAL 10.0
  • TI-2026-41123 praisonai-platform 0.1.4 still boots on the hardcoded JWT secret dev-secret-change-me (default-open production guard) CVSS 3.1CRITICAL 9.8
  • TI-2026-41122 praisonai-platform: default JWT signing secret 'dev-secret-change-me' enables token forgery CVSS 3.1CRITICAL 9.8
  • TI-2026-41118 PraisonAI MCPServer exposes unauthenticated HTTP tools/call CVSS 3.1CRITICAL 9.8
See all 177 →

Sources