← Back to CVE Explorer

CVE-2026-55522

Full vulnerability record from the local CVENow database.

Description

PraisonAI is a multi-agent teams system. In versions 3.9.26 through 4.6.57 of praiseonai and 0.12.12 through 1.6.57 of praiseonaiagents, the workflow "include" feature is vulnerable to code execution. Workflow._execute_include() implicitly imports and runs an included recipe's tools.py via a raw importlib.util.spec_from_file_location() and spec.loader.exec_module() call, without honoring the PRAISONAI_ALLOW_TEMPLATE_TOOLS/PRAISONAI_ALLOW_LOCAL_TOOLS autoload opt-in gates or routing through the centralized safe loader that protects the other tools.py autoload paths. As a result, a workflow that includes an attacker-controlled local recipe directory executes arbitrary module-level Python code during include setup, before any child workflow parsing or model call, and the same sink is reachable through the higher-level praisonai.recipe.run() recipe API. An attacker who can cause a victim process to run a workflow or recipe that includes an untrusted local recipe achieves arbitrary Python code execution as the PraisonAI process user, a variant that bypasses the hardening applied to the previously disclosed automatic tools.py RCE advisory family. This issue has been fixed in version 4.6.58 of praisonai and 1.6.58 of praisonaiagents.

Severity
HIGH
CVSS score
7.8 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-08-05 20:17:10.453000
Last modified
2026-10-24 16:10:00.153000
View original CVE JSON
{
  "id": "CVE-2026-55522",
  "sourceIdentifier": "[email protected]",
  "published": "2026-08-05T20:17:10.453",
  "lastModified": "2026-10-24T16:10:00.153",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "PraisonAI is a multi-agent teams system. In versions 3.9.26 through 4.6.57 of praiseonai and 0.12.12 through 1.6.57 of praiseonaiagents, the workflow \"include\" feature is vulnerable to code execution. Workflow._execute_include() implicitly imports and runs an included recipe's tools.py via a raw importlib.util.spec_from_file_location() and spec.loader.exec_module() call, without honoring the PRAISONAI_ALLOW_TEMPLATE_TOOLS/PRAISONAI_ALLOW_LOCAL_TOOLS autoload opt-in gates or routing through the centralized safe loader that protects the other tools.py autoload paths. As a result, a workflow that includes an attacker-controlled local recipe directory executes arbitrary module-level Python code during include setup, before any child workflow parsing or model call, and the same sink is reachable through the higher-level praisonai.recipe.run() recipe API. An attacker who can cause a victim process to run a workflow or recipe that includes an untrusted local recipe achieves arbitrary Python code execution as the PraisonAI process user, a variant that bypasses the hardening applied to the previously disclosed automatic tools.py RCE advisory family. This issue has been fixed in version 4.6.58 of praisonai and 1.6.58 of praisonaiagents."
    },
    {
      "lang": "es",
      "value": "PraisonAI es un sistema de equipos multiagente. En las versiones 3.9.26 a 4.6.57 de praiseonai y 0.12.12 a 1.6.57 de praiseonaiagents, la característica ’include’ del flujo de trabajo es vulnerable a la ejecución de código. Workflow._execute_include() importa y ejecuta implícitamente el archivo tools.py de una receta incluida a través de una llamada directa a importlib.util.spec_from_file_location() y spec.loader.exec_module(), sin respetar las puertas de activación de carga automática PRAISONAI_ALLOW_TEMPLATE_TOOLS/PRAISONAI_ALLOW_LOCAL_TOOLS ni el enrutamiento a través del cargador seguro centralizado que protege las otras rutas de carga automática de tools.py. Como resultado, un flujo de trabajo que incluye un directorio de recetas local controlado por un atacante ejecuta código Python arbitrario a nivel de módulo durante la configuración de la inclusión, antes de cualquier análisis de flujo de trabajo secundario o llamada a modelo, y el mismo ’sink’ es accesible a través de la API de recetas praisonai.recipe.run() de nivel superior. Un atacante que puede hacer que un proceso víctima ejecute un flujo de trabajo o una receta que incluye una receta local no confiable logra la ejecución arbitraria de código Python como el usuario del proceso de PraisonAI, una variante que elude el endurecimiento aplicado a la familia de avisos de RCE automática de tools.py previamente divulgada. Este problema ha sido solucionado en la versión 4.6.58 de praisonai y 1.6.58 de praisonaiagents."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "MervinPraison",
          "product": "PraisonAI",
          "versions": [
            {
              "version": ">= 3.9.26, < 4.6.58",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "MervinPraison",
          "product": "praisonaiagents",
          "versions": [
            {
              "version": ">= 0.12.12, < 1.6.58",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
          "baseScore": 7.8,
          "baseSeverity": "HIGH",
          "attackVector": "LOCAL",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "REQUIRED",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 5.9
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-08-06T18:43:28.382511Z",
          "id": "CVE-2026-55522",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-94"
        },
        {
          "lang": "en",
          "value": "CWE-426"
        },
        {
          "lang": "en",
          "value": "CWE-829"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-hxmv-c4g6-5fqc",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-hxmv-c4g6-5fqc",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
    }
  ]
}