Vulnerabilidades do MervinPraison PraisonAI
🔔 Criar alerta RSS Verificador de versão
CVEs publicadas que afetam MervinPraison PraisonAI: 147 registro(s), com versões afetadas e correções.
CVE-2026-60086
Média · 5.3
CWE-693 10/07/2026
PraisonAI before 4.6.78 Prompt Injection Defense Bypass
PraisonAI before 4.6.78 contains a prompt injection defense bypass vulnerability where the injection defense only blocks threats classified as CRITICAL, requiring three or more detector families to match simultaneously. Attackers can craft single or double-vector prompt injections that are classified as HIGH threat level and pass through unblocked to reach the model.
CVE-2026-44340
Alta · 7.5
CWE-22 08/05/2026
PraisonAI: Symlink-extraction bypass of `_safe_extractall` writes outside `dest_dir`
PraisonAI is a multi-agent teams system. Prior to version 4.6.37, the _safe_extractall helper that all recipe pull, recipe publish, and recipe unpack flows route through validates each archive member's name for absolute paths, .. segments, and resolved-path escape — but does not validate member.linkname, does not reject symlink/hardlink members, and calls tar.extractall(dest_dir) without filter="data". A bundle that contains a symlink with a name inside dest_dir but a linkname pointing outside it, followed by a regular file whose path traverses through the just-created symlink, escapes dest_dir and lets the attacker write arbitrary content to an attacker-chosen location on the victim's filesystem. This issue has been patched in version 4.6.37.
CVE-2026-44339
Alta · 8.6
CWE-470 08/05/2026
PraisonAI has unsafe tool resolution in `ToolExecutionMixin.execute_tool`: undeclared `__main__` callables execute
PraisonAI is a multi-agent teams system. Prior to praisonai version 4.6.37 and praisonaiagents version 1.6.37, praisonaiagents resolves unresolved tool names against module globals and __main__ after it fails to match the declared tool list and the registry. With the default agent configuration, _perm_allow is None, so undeclared non-dangerous tool names are not rejected by the permission gate. An attacker who can influence tool-call names can therefore invoke unintended application callables that were never declared as tools. This issue has been patched in praisonai version 4.6.37 and praisonaiagents version 1.6.37.
CVE-2026-44338
Alta · 7.3
Exploit público CWE-306 08/05/2026
PraisonAI ships and generates a legacy API server with authentication disabled by default, allowing unauthenticated workflow execution
PraisonAI is a multi-agent teams system. From version 2.5.6 to before version 4.6.34, PraisonAI ships a legacy Flask API server with authentication disabled by default. When that server is used, any caller that can reach it can access /agents and trigger the configured agents.yaml workflow through /chat without providing a token. This issue has been patched in version 4.6.34.
CVE-2026-44337
Média · 6.3
CWE-20 08/05/2026
PraisonAI knowledge-store backends interpolate unvalidated collection names into SQL and CQL queries
PraisonAI is a multi-agent teams system. From version 2.4.1 to before version 4.6.34, PraisonAI exposes optional SQL/CQL-backed knowledge-store implementations that build table and index identifiers from unvalidated name and collection arguments. Applications that pass untrusted collection names into these backends can trigger SQL or CQL injection. This issue has been patched in version 4.6.34.
CVE-2026-44336
Crítica · 9.6
CWE-20 08/05/2026
PraisonAI MCP: path traversal e RCE por injeção de arquivo .pth do Python
PraisonAI é um sistema de equipes de multiagentes. Antes da versão 4.6.34, o servidor MCP (Model Context Protocol) do PraisonAI (praisonai mcp serve) registra por padrão quatro ferramentas de manipulação de arquivos: praisonai.rules.create, praisonai.rules.show, praisonai.rules.delete e praisonai.workflow.show. Cada uma aceita uma string de caminho ou nome de arquivo a partir dos argumentos de tools/call do MCP e a concatena a ~/.praison/rules/ (ou, no caso de workflow.show, aceita um caminho absoluto) sem qualquer verificação de contenção. O despachante JSON-RPC repassa params["arguments"] sem validação a cada handler via **kwargs, sem checar contra o esquema de entrada anunciado. Ao definir rule_name="../../<algum-caminho>", um atacante sai do diretório de regras e consegue gravar qualquer arquivo que o usuário em execução possa gravar. Colocar um arquivo .pth do Python no diretório site-packages do usuário escala esse primitivo para execução de código arbitrário em qualquer processo Python que o usuário inicie depois, como a próxima invocação da CLI praisonai, a execução de um script em uma IDE, o REPL python do usuário ou qualquer serviço Python em segundo plano. Este problema foi corrigido na versão 4.6.34.
CVE-2026-44335
Crítica · 9.8
CWE-918 08/05/2026
Bypass de SSRF no PraisonAI por falha na validação de URLs
O PraisonAI é um sistema de equipes multiagente. Antes da versão 1.6.32, a lógica de verificação de URLs no PraisonAI apresenta uma falha lógica que pode ser contornada por atacantes, levando a ataques de SSRF. Este problema foi corrigido na versão 1.6.32.
CVE-2026-44334
Alta · 8.4
CWE-94 08/05/2026
PraisonAI: Unauthenticated RCE via `tool_override.py`
PraisonAI is a multi-agent teams system. From version 4.5.139 to before version 4.6.32, CVE-2026-40287's fix gated tools.py auto-import behind PRAISONAI_ALLOW_LOCAL_TOOLS=true in two files (tool_resolver.py, api/call.py). A third import sink in praisonai/templates/tool_override.py was missed and remains unguarded. It is reached by the recipe runner on every recipe execution and is remotely triggerable through POST /v1/recipes/run with a recipe value pointing at any local absolute path or any GitHub repo (because SecurityConfig.allow_any_github defaults to True). The attacker drops a tools.py next to TEMPLATE.yaml; the server exec_module()s it. No auth required by default, no environment opt-in required. This issue has been patched in version 4.6.32.
CVE-2026-41497
Crítica · 9.8
CWE-77 08/05/2026
Incomplete fix for CVE-2026-34935: Command Injection in MervinPraison/PraisonAI
PraisonAI is a multi-agent teams system. Prior to version 4.6.9, the fix for PraisonAI's MCP command handling does not add a command allowlist or argument validation to parse_mcp_command(), allowing arbitrary executables like bash, python, or /bin/sh with inline code execution flags to pass through to subprocess execution. This issue has been patched in version 4.6.9.
CVE-2026-41496
Alta · 8.1
CWE-89 08/05/2026
PraisonAI: SQL Injection via unvalidated `table_prefix` in 9 conversation store backends (incomplete fix for CVE-2026-40315)
PraisonAI is a multi-agent teams system. Prior to praisonai version 4.6.9 and praisonaiagents version 1.6.9, the fix for CVE-2026-40315 added input validation to SQLiteConversationStore only. Nine sibling backends — MySQL, PostgreSQL, async SQLite/MySQL/PostgreSQL, Turso, SingleStore, Supabase, SurrealDB — pass table_prefix straight into f-string SQL. Same root cause, same code pattern, same exploitation. 52 unvalidated injection points across the codebase. postgres.py additionally accepts an unvalidated schema parameter used directly in DDL. This issue has been patched in praisonai version 4.6.9 and praisonaiagents version 1.6.9.
CVE-2026-40315
Crítica · 9.8
CWE-89 14/04/2026
PraisonAI SQLiteConversationStore: injeção de identificador SQL via table_prefix
PraisonAI é um sistema de equipes multiagente. Antes da 4.5.133, há uma vulnerabilidade de injeção de identificador SQL no SQLiteConversationStore, em que o valor de configuração table_prefix é concatenado diretamente em consultas SQL por meio de f-strings, sem qualquer validação ou sanitização. Como identificadores SQL não podem ser parametrizados com segurança, um atacante que controle o valor de table_prefix (por exemplo, por meio de entrada de configuração em from_yaml ou from_dict) pode injetar fragmentos SQL arbitrários que alteram a estrutura da consulta. Isso permite acesso não autorizado a dados, como a leitura de tabelas internas do SQLite como sqlite_master, e a manipulação de resultados de consulta por técnicas como injeção baseada em UNION. A vulnerabilidade se propaga desde a entrada de configuração em config.py, passando por factory.py, até a construção da consulta SQL em sqlite.py. A exploração exige a capacidade de influenciar a entrada de configuração, e a exploração bem-sucedida leva à divulgação de esquema interno e à adulteração completa dos resultados de consultas. Este problema foi corrigido na versão 4.5.133.
CVE-2026-40313
Crítica · 9.1
CWE-829 14/04/2026
PraisonAI: vazamento de credenciais no GitHub Actions por tokens persistidos (ArtiPACKED)
PraisonAI é um sistema de equipes multiagente. Nas versões 4.5.139 e anteriores, os workflows do GitHub Actions são vulneráveis ao ataque ArtiPACKED, um vetor conhecido de vazamento de credenciais causado pelo uso de actions/checkout sem definir persist-credentials: false. Por padrão, actions/checkout grava o GITHUB_TOKEN (e, às vezes, o ACTIONS_RUNTIME_TOKEN) no arquivo .git/config para persistência, e se qualquer etapa subsequente do workflow enviar artefatos (saídas de build, logs, resultados de testes etc.), esses tokens podem ser incluídos inadvertidamente. Como o PraisonAI é um repositório público, qualquer usuário com acesso de leitura pode baixar esses artefatos e extrair os tokens vazados, potencialmente permitindo que um atacante envie código malicioso, comprometa releases e pacotes PyPI e Docker, roube segredos do repositório e execute um comprometimento completo da cadeia de suprimentos que afeta todos os usuários downstream. O problema abrange diversos arquivos de workflow e de ação em .github/workflows/ e .github/actions/. Este problema foi corrigido na versão 4.5.140.
CVE-2026-40289
Crítica · 9.1
CWE-306 14/04/2026
Servidor de Navegador do PraisonAI sem autenticação permite sequestro de sessões WebSocket
PraisonAI é um sistema de equipes multiagente. Nas versões anteriores à 4.5.139 do PraisonAI e à 1.5.140 do praisonaiagents, a ponte do navegador (praisonai browser start) é vulnerável a sequestro remoto e não autenticado de sessões, devido à ausência de autenticação e a uma verificação de origem contornável no endpoint WebSocket /ws. O servidor escuta em 0.0.0.0 por padrão e só valida o cabeçalho Origin quando ele está presente, o que significa que qualquer cliente que não seja navegador e omita o cabeçalho é aceito sem restrição. Um atacante de rede não autenticado pode conectar-se, enviar uma mensagem start_session, e o servidor a encaminhará para a primeira conexão WebSocket de extensão de navegador ociosa (efetivamente sequestrando essa sessão), para depois transmitir de volta ao atacante todas as ações e saídas de automação resultantes. Isso possibilita controle remoto não autorizado de sessões de automação de navegador conectadas, vazamento de contexto sensível de páginas e resultados de automação, e uso indevido de ações de navegador baseadas em modelos em qualquer ambiente em que a ponte seja acessível pela rede. Este problema foi corrigido nas versões 4.5.139 do PraisonAI e 1.5.140 do praisonaiagents.
CVE-2026-40288
Crítica · 9.8
CWE-78 14/04/2026
PraisonAI: execução de comandos e código via YAML de workflow type: job
PraisonAI é um sistema de equipes multiagente. Nas versões anteriores à 4.5.139 do PraisonAI e à 1.5.140 do praisonaiagents, o mecanismo de workflow é vulnerável a execução arbitrária de comandos e de código por meio de arquivos YAML não confiáveis. Quando praisonai workflow run <file.yaml> carrega um arquivo YAML com type: job, o JobWorkflowExecutor em job_workflow.py processa etapas que aceitam run: (comandos de shell via subprocess.run()), script: (Python inline via exec()) e python: (execução de script Python arbitrário), todas sem qualquer validação, sandboxing ou confirmação do usuário. Os caminhos de código afetados incluem action_run() em workflow.py e _exec_shell(), _exec_inline_python() e _exec_python_script() em job_workflow.py. Um atacante que consiga fornecer ou influenciar um arquivo YAML de workflow (particularmente em pipelines de CI, repositórios compartilhados ou ambientes de implantação multi-inquilino) pode obter execução arbitrária de comandos completa no sistema hospedeiro, comprometendo a máquina e quaisquer dados ou credenciais acessíveis. Este problema foi corrigido nas versões 4.5.139 do PraisonAI e 1.5.140 do praisonaiagents.
CVE-2026-40287
Alta · 8.4
CWE-94 14/04/2026
PraisonAI has RCE via Automatic tools.py Import
PraisonAI is a multi-agent teams system. Versions 4.5.138 and below are vulnerable to arbitrary code execution through automatic, unsanitized import of a tools.py file from the current working directory. Components including call.py (import_tools_from_file()), tool_resolver.py (_load_local_tools()), and CLI tool-loading paths blindly import ./tools.py at startup without any validation, sandboxing, or user confirmation. An attacker who can place a malicious tools.py in the directory where PraisonAI is launched (such as through a shared project, cloned repository, or writable workspace) achieves immediate arbitrary Python code execution in the host environment. This compromises the full PraisonAI process, the host system, and any connected data or credentials. This issue has been fixed in version 4.5.139.
CVE-2026-40159
Média · 5.5
CWE-200 10/04/2026
PraisonAI Exposes Sensitive Environment Variable via Untrusted MCP Subprocess Execution
PraisonAI is a multi-agent teams system. Prior to 4.5.128, PraisonAI’s MCP (Model Context Protocol) integration allows spawning background servers via stdio using user-supplied command strings (e.g., MCP("npx -y @smithery/cli ...")). These commands are executed through Python’s subprocess module. By default, the implementation forwards the entire parent process environment to the spawned subprocess. As a result, any MCP command executed in this manner inherits all environment variables from the host process, including sensitive data such as API keys, authentication tokens, and database credentials. This behavior introduces a security risk when untrusted or third-party commands are used. In common scenarios where MCP tools are invoked via package runners such as npx -y, arbitrary code from external or potentially compromised packages may execute with access to these inherited environment variables. This creates a risk of unintended credential exposure and enables potential supply chain attacks through silent exfiltration of secrets. This vulnerability is fixed in 4.5.128.
CVE-2026-40158
Alta · 7.8
CWE-94 10/04/2026
PraisonAI has Improper Control of Generation of Code ('Code Injection') and Protection Mechanism Failure in praisonai
PraisonAI is a multi-agent teams system. Prior to 4.5.128, PraisonAI's AST-based Python sandbox can be bypassed using type.__getattribute__ trampoline, allowing arbitrary code execution when running untrusted agent code. The _execute_code_direct function in praisonaiagents/tools/python_tools.py uses AST filtering to block dangerous Python attributes like __subclasses__, __globals__, and __bases__. However, the filter only checks ast.Attribute nodes, allowing a bypass. The sandbox relies on AST-based filtering of attribute access but fails to account for dynamic attribute resolution via built-in methods such as type.getattribute, resulting in incomplete enforcement of security restrictions. The string '__subclasses__' is an ast.Constant, not an ast.Attribute, so it is never checked against the blocked list. This vulnerability is fixed in 4.5.128.
CVE-2026-40157
Alta · 8.8
CWE-22 10/04/2026
PraisonAI affected by arbitrary file write via path traversal in `praisonai recipe unpack`
PraisonAI is a multi-agent teams system. Prior to 4.5.128, cmd_unpack in the recipe CLI extracts .praison tar archives using raw tar.extract() without validating archive member paths. A .praison bundle containing ../../ entries will write files outside the intended output directory. An attacker who distributes a malicious bundle can overwrite arbitrary files on the victim's filesystem when they run praisonai recipe unpack. This vulnerability is fixed in 4.5.128.
CVE-2026-40156
Alta · 7.8
CWE-94 10/04/2026
PraisonAI Affected by Implicit Execution of Arbitrary Code via Automatic `tools.py` Loading
PraisonAI is a multi-agent teams system. Prior to 4.5.128, PraisonAI automatically loads a file named tools.py from the current working directory to discover and register custom agent tools. This loading process uses importlib.util.spec_from_file_location and immediately executes module-level code via spec.loader.exec_module() without explicit user consent, validation, or sandboxing. The tools.py file is loaded implicitly, even when it is not referenced in configuration files or explicitly requested by the user. As a result, merely placing a file named tools.py in the working directory is sufficient to trigger code execution. This behavior violates the expected security boundary between user-controlled project files (e.g., YAML configurations) and executable code, as untrusted content in the working directory is treated as trusted and executed automatically. If an attacker can place a malicious tools.py file into a directory where a user or automated system (e.g., CI/CD pipeline) runs praisonai, arbitrary code execution occurs immediately upon startup, before any agent logic begins. This vulnerability is fixed in 4.5.128.
CVE-2026-40154
Crítica · 9.6
CWE-829 09/04/2026
PraisonAI: execução de código por template remoto não confiável
O PraisonAI é um sistema de equipes multiagente. Antes da versão 4.5.128, o PraisonAI trata arquivos de template obtidos remotamente como código executável confiável, sem verificação de integridade, validação de origem ou confirmação do usuário, o que possibilita ataques à cadeia de suprimentos por meio de templates maliciosos. Esta vulnerabilidade está corrigida na versão 4.5.128.
CVE-2026-40151
Média · 5.3
Exploit público CWE-200 09/04/2026
PraisonAI Affected by Unauthenticated Information Disclosure of Agent Instructions via /api/agents in AgentOS
PraisonAI is a multi-agent teams system. Prior to 4.5.128, the AgentOS deployment platform exposes a GET /api/agents endpoint that returns agent names, roles, and the first 100 characters of agent system instructions to any unauthenticated caller. The AgentOS FastAPI application has no authentication middleware, no API key validation, and defaults to CORS allow_origins=["*"] with host="0.0.0.0", making every deployment network-accessible and queryable from any origin by default. This vulnerability is fixed in 4.5.128.
CVE-2026-40149
Alta · 7.3
CWE-396 09/04/2026
PraisonAI has an Unauthenticated Allow-List Manipulation Bypasses Agent Tool Approval Safety Controls
PraisonAI is a multi-agent teams system. Prior to 4.5.128, the gateway's /api/approval/allow-list endpoint permits unauthenticated modification of the tool approval allowlist when no auth_token is configured (the default). By adding dangerous tool names (e.g., shell_exec, file_write) to the allowlist, an attacker can cause the ExecApprovalManager to auto-approve all future agent invocations of those tools, bypassing the human-in-the-loop safety mechanism that the approval system is specifically designed to enforce. This vulnerability is fixed in 4.5.128.
CVE-2026-40148
Média · 6.5
CWE-409 09/04/2026
PraisonAI Affected by Decompression Bomb DoS via Recipe Bundle Extraction Without Size Limits
PraisonAI is a multi-agent teams system. Prior to 4.5.128, the _safe_extractall() function in PraisonAI's recipe registry validates archive members against path traversal attacks but performs no checks on individual member sizes, cumulative extracted size, or member count before calling tar.extractall(). An attacker can publish a malicious recipe bundle containing highly compressible data (e.g., 10GB of zeros compressing to ~10MB) that exhausts the victim's disk when pulled via LocalRegistry.pull() or HttpRegistry.pull(). This vulnerability is fixed in 4.5.128.
CVE-2026-40116
Alta · 7.5
CWE-770 09/04/2026
PraisonAI's Unauthenticated WebSocket Endpoint Proxies to Paid OpenAI Realtime API Without Rate Limits
PraisonAI is a multi-agent teams system. Prior to 4.5.128, the /media-stream WebSocket endpoint in PraisonAI's call module accepts connections from any client without authentication or Twilio signature validation. Each connection opens an authenticated session to OpenAI's Realtime API using the server's API key. There are no limits on concurrent connections, message rate, or message size, allowing an unauthenticated attacker to exhaust server resources and drain the victim's OpenAI API credits. This vulnerability is fixed in 4.5.128.
CVE-2026-40115
Alta · 7.5
CWE-770 09/04/2026
PraisonAI has an Unrestricted Upload Size in WSGI Recipe Registry Server Enables Memory Exhaustion DoS
PraisonAI is a multi-agent teams system. Prior to 4.5.128, the WSGI-based recipe registry server (server.py) reads the entire HTTP request body into memory based on the client-supplied Content-Length header with no upper bound. Combined with authentication being disabled by default (no token configured), any local process can send arbitrarily large POST requests to exhaust server memory and cause a denial of service. The Starlette-based server (serve.py) has RequestSizeLimitMiddleware with a 10MB limit, but the WSGI server lacks any equivalent protection. This vulnerability is fixed in 4.5.128.