
Aviso de Segurança: Vulnerabilidade Crítica de Execução Remota de Código no n8n (CVE-2025-68613)
Foi identificada uma vulnerabilidade crítica na ferramenta de automação de fluxos de trabalho n8n que permite a execução arbitrária de código. Usuários autenticados com permissões para criar ou editar fluxos de trabalho podem explorar essa falha para obter controle sobre o sistema que executa a instância do n8n.
Resumo
CVE ID CVE-2025-68613 Vulnerabilidade Controle Incorreto de Recursos de Código Gerenciados Dinamicamente Gravidade Crítica Impacto Execução Arbitrária de Comandos, Comprometimento Total do Sistema Causa Raiz O avaliador de expressões não sanitiza o acesso ao objeto de processo subjacente do Node.js (this.process), permitindo que um atacante faça require e use módulos do sistema como child_process.
Impacto
Um atacante que explore com sucesso esta vulnerabilidade pode alcançar o seguinte:
Executar comandos arbitrários no servidor.
Acessar e manipular o sistema de arquivos.
Expor variáveis de ambiente sensíveis.
Obter controle total do sistema host do n8n.
Versões Afetadas e Corrigidas
Status Versão(ões) Vulnerável Todas as versões anteriores à 1.122.0 Corrigida Versão 1.122.0 e posteriores
Mitigação
É fundamental atualizar sua instância do n8n para a versão 1.122.0 ou posterior imediatamente para resolver esta vulnerabilidade.
Detalhes do Exploit para CVE-2025-68613
Este diretório contém uma prova de conceito para a vulnerabilidade de Execução Remota de Código (RCE) no n8n (CVE-2025-68613).
Requisitos
Uma instância do n8n com versão anterior à 1.122.0.
Acesso autenticado com permissões para criar e editar fluxos de trabalho.
Passos para Reproduzir
Criar Fluxo de Trabalho:
Faça login na sua instância vulnerável do n8n.
Clique em "Adicionar fluxo de trabalho" para iniciar um novo fluxo de trabalho.
Adicionar Nós:
Adicione um nó "Manual Trigger" ao canvas.
Adicione um nó "Set" e conecte-o à saída do nó "Manual Trigger".
Configurar o Nó Set:
Clique no nó "Set" para abrir seu painel de configuração.
Clique em "Adicionar Valor" e selecione "String" no menu suspenso.
Defina o Nome do novo valor para result.
Clique no ícone "=" ao lado do campo "Valor" para alternar para o modo de expressão.
Injetar Payload do Exploit:
No campo de expressão para o valor result, cole o seguinte payload:
Exploit:
{{ (function(){ return this.process.mainModule.require('child_process').execSync('id').toString() })() }}
Executar e Verificar:
Clique no botão "Executar etapa".
Verifique a saída do nó "SetScreenshot 2025-12-23 at 15 18 56
". Se o exploit for bem-sucedido, você verá a saída do comando id, confirmando a execução de código.
