Vulnerabilidades do n8n em 19/08/2026

Os nove avisos publicados nesta data incluem seis falhas de gravidade alta e três moderadas. Você precisa conferir tanto a versão instalada quanto os recursos usados pelos seus workflows, porque algumas falhas dependem de edição compartilhada e outras aparecem na execução de expressões ou de Nodes específicos.

Aplicativon8n
Data do compilado
Vulnerabilidades9

As faixas abaixo preservam os valores da API e devem ser comparadas separadamente por linha. A correção disponível no projeto não confirma que sua instância foi atualizada. As medidas temporárias descritas nas fichas limitam a exposição, mas não substituem a atualização.

Gravidade altaCVSS: 8,7/10Correção disponível

$fromAI permite escapar do isolamento de expressões e executar código

A função $fromAI aceitava nomes reservados e procurava o placeholder sem exigir que ele fosse uma propriedade própria da entrada. Com uma entrada primitiva, essa busca podia retornar uma referência ao protótipo do ambiente principal. Uma expressão conseguia chegar ao construtor Function por essa referência e executar código dentro do processo principal do n8n, com o privilégio de criação de workflows.

Casos de uso afetados

  • Você permite que usuários criem workflows e configurem expressões com $fromAI. Uma expressão maliciosa pode usar a falha para executar código fora do isolamento previsto para as expressões.
  • O processo do n8n tem acesso a arquivos ou serviços necessários às automações. O código executado por essa falha usa os privilégios desse processo.

Confira na sua instância

Confira a versão em execução e revise as permissões de criação de workflows na instância. Nos workflows com $fromAI, examine os nomes de placeholders e procure referências inesperadas a protótipos ou ao construtor Function. Essa revisão localiza expressões suspeitas, mas a confirmação da correção exige uma versão corrigida da linha instalada.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
1.x< 1.123.73>= 1.123.73
2.36.x< 2.36.2>= 2.36.2
2.35.x< 2.35.4>= 2.35.4

Até atualizar, limite o acesso a usuários de confiança e desative os Nodes e recursos de IA dispensáveis. Um usuário dedicado com poucos privilégios reduz o alcance do código executado, mas mantém a falha na versão vulnerável.

Gravidade altaCVSS: 7,7/10Correção disponível

Configuração local do repositório permite executar comandos pelo Node Git

O Node Git neutralizava uma lista de configurações capazes de executar comandos, mas deixava de fora as configurações de filtros de conteúdo e de drivers de merge. Um repositório com uma dessas configurações e um padrão de atributos correspondente podia executar o comando configurado durante uma ação comum do Node, como Add ou Checkout. O comando usava o mesmo usuário do sistema operacional que executava o n8n.

Casos de uso afetados

  • Você automatiza ações sobre um repositório com o Node Git. Uma configuração local maliciosa, acompanhada dos atributos necessários, pode executar um comando quando o workflow adiciona arquivos, cria um commit, faz checkout ou executa pull.

Confira na sua instância

Localize os repositórios usados pelos Nodes Git e examine a configuração local, especialmente as entradas de filter e merge que definem comandos. Compare essas entradas com os padrões de atributos, incluindo os arquivos .gitattributes e .git/info/attributes quando existirem. Faça a inspeção sem executar o workflow sobre um repositório suspeito e confira os privilégios do usuário que executa o n8n.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
1.x< 1.123.73>= 1.123.73
2.36.x< 2.36.2>= 2.36.2
2.35.x< 2.35.4>= 2.35.4

Você pode desativar temporariamente o Node Git adicionando n8n-nodes-base.git a NODES_EXCLUDE. O aviso também orienta limitar o acesso à instância e usar um usuário dedicado com poucos privilégios.

Gravidade altaCVSS: 7,2/10Correção disponível

Sub-workflow no Workflow Tool permite extrair credenciais sem compartilhamento

A validação de credenciais não examinava o JSON interno de todos os tipos de Node capazes de executar um sub-workflow incorporado. Assim, o n8n aceitava e gravava uma referência a uma credencial indisponível para o editor. Quando uma identidade com acesso àquela credencial executava o workflow, o sub-workflow conseguia obter a credencial e enviá-la a um endereço controlado pelo atacante.

Casos de uso afetados

  • Você compartilha um workflow com permissão de edição, mas mantém suas credenciais privadas. Um editor mal-intencionado pode inserir um Workflow Tool com um sub-workflow incorporado e aguardar uma execução sob uma identidade autorizada a usar o segredo.
  • A criação de workflows pelas APIs REST ou pública, ou pelo MCP, também aceita a referência indevida. O vazamento depende de uma execução posterior sob uma identidade com acesso à credencial.

Confira na sua instância

Abra os workflows compartilhados e examine o JSON dos sub-workflows incorporados nos Nodes Workflow Tool. Compare as referências de credenciais com as permissões do editor e confira os destinos de requisições desses sub-workflows. No histórico de execução, procure envios inesperados para endereços externos. Atualize a linha instalada e substitua as credenciais que possam ter sido expostas.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
2.36.x< 2.36.2>= 2.36.2
2.35.x< 2.35.4>= 2.35.4

Durante a preparação da atualização, restrinja o acesso à instância e a edição de workflows compartilhados a usuários de confiança. A credencial pode ser extraída mesmo sem ter sido compartilhada com o atacante.

Gravidade altaCVSS: 7,2/10Correção disponível

Expressões podem alterar objetos compartilhados entre execuções

O isolamento de expressões deixava de reescrever identificadores livres em determinadas construções de JavaScript, incluindo spread, chaves calculadas, casos de switch e extensão de classes. Esses identificadores eram resolvidos nos objetos globais do processo, expondo mais de trinta deles. Um usuário autenticado com permissão para editar workflows podia modificar os objetos compartilhados, afetando avaliações posteriores de expressões até o reinício do processo.

Casos de uso afetados

  • Você executa vários workflows no mesmo processo do n8n. Uma expressão inserida por um editor mal-intencionado pode alterar um objeto global usado depois por expressões de outros workflows.
  • Um workflow apresenta resultados diferentes após a execução de outro workflow, mesmo sem alteração na própria expressão. A persistência das mudanças nos objetos compartilhados permite essa interferência entre avaliações.

Confira na sua instância

Revise expressões editadas por usuários com acesso ao workflow, observando construções que combinem as posições sintáticas citadas com acesso a objetos globais. Em uma instância de homologação, compare o resultado de uma expressão de referência em execuções sucessivas e após reiniciar o processo. Uma diferença exige investigação, pois esse teste isolado não identifica a causa. Confira também a versão corrigida efetivamente carregada pelo processo.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
2.36.x< 2.36.2>= 2.36.2
2.35.x< 2.35.4>= 2.35.4

Em instalações próprias, reiniciar o processo remove as alterações acumuladas nos objetos compartilhados. Uma versão vulnerável continua permitindo novas alterações após o reinício, por isso o comunicado também orienta restringir o acesso a usuários de confiança.

Gravidade altaCVSS: 7,1/10Correção disponível

Gmail v1 e Brevo permitem incluir arquivos locais ou respostas de URLs no email

Os Nodes Gmail v1 e Brevo encaminhavam o conteúdo da mensagem ao componente de composição de email sem exigir uma string. Uma expressão que retornasse um objeto com a propriedade path ou href podia provocar a leitura de um arquivo local ou uma requisição a uma URL, incluindo o resultado na mensagem enviada. Um usuário autenticado com permissão para executar workflows conseguia ler arquivos acessíveis ao processo do n8n ou consultar endereços internos.

Casos de uso afetados

  • Você mantém um workflow de envio de email com o Gmail v1 ou o Brevo e permite que outro usuário execute expressões no conteúdo da mensagem. Um objeto retornado por essa expressão pode incluir no email um arquivo que o processo do n8n consegue ler.
  • O servidor do n8n alcança serviços internos. Uma URL fornecida no objeto de conteúdo pode fazer o componente de email consultar esses serviços e enviar a resposta ao destinatário.

Confira na sua instância

Localize os workflows com Gmail v1 e Brevo e confira o tipo retornado pelas expressões usadas no conteúdo do email. Examine especialmente objetos com path ou href e compare mensagens já enviadas com o conteúdo esperado. Em homologação, use apenas mensagens de teste para conferir que o conteúdo permanece textual após a atualização. Revise também quais arquivos o usuário do sistema operacional usado pelo n8n consegue ler.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
1.x< 1.123.73>= 1.123.73
2.36.x< 2.36.2>= 2.36.2
2.35.x< 2.35.4>= 2.35.4

O comunicado orienta restringir o acesso à instância, executar o n8n com um usuário de poucos privilégios e desativar o Gmail pelo identificador n8n-nodes-base.gmail em NODES_EXCLUDE. Essa exclusão do Gmail não desativa o Brevo, que também está afetado.

Gravidade altaCVSS: 7,1/10Correção disponível

Strapi, SeaTable e Mailcheck gravam segredos nos erros de execução

Os Nodes Strapi, SeaTable e Mailcheck enviavam a credencial descriptografada ao endpoint de autenticação por um helper HTTP legado sem tratamento de erro ao redor dessa chamada. A falha podia gravar o segredo em texto aberto no erro da execução. Um usuário autenticado conseguia ler esse segredo ao consultar a própria execução pela API REST, apesar de a API de credenciais ocultar os valores sensíveis.

Casos de uso afetados

  • Você usa uma credencial em um workflow com Strapi, SeaTable ou Mailcheck e permite que outro usuário consulte a própria execução. Um erro na autenticação pode revelar o segredo nesse histórico, mesmo com o valor oculto na consulta de credenciais.

Confira na sua instância

Abra os registros de execuções com erro nesses três Nodes e examine a resposta correspondente da API REST. Procure segredos de autenticação nos detalhes gravados pelo erro, evitando copiá-los para relatórios ou mensagens. Substitua as credenciais encontradas e revise o acesso aos registros antigos. Em homologação, use uma credencial descartável para conferir que novos erros não expõem seu valor após atualizar.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
1.x< 1.123.73>= 1.123.73
2.36.x< 2.36.2>= 2.36.2
2.35.x< 2.35.4>= 2.35.4

Para desativar temporariamente os Nodes afetados, o comunicado informa os identificadores n8n-nodes-base.strapi, n8n-nodes-base.seaTable e n8n-nodes-base.mailcheck em NODES_EXCLUDE. A atualização precisa ser acompanhada da revisão dos registros existentes e da substituição de credenciais expostas.

Gravidade moderadaCVSS: 6,3/10Correção disponível

Expressões alteram consultas do Elasticsearch e do Firestore

As ações Document Get All do Elasticsearch e Document Query do Google Cloud Firestore inseriam os resultados de expressões diretamente na string da consulta JSON e só depois interpretavam o JSON. Um valor com aspas e chaves podia encerrar o campo previsto e acrescentar operadores de consulta. Com isso, uma busca destinada a um documento podia retornar a coleção inteira acessível à credencial usada pelo Node.

Casos de uso afetados

  • Você recebe um identificador por webhook e o insere por expressão no campo de consulta de um Node Elasticsearch ou Google Cloud Firestore. Uma entrada manipulada pode ampliar a busca e retornar documentos além daquele previsto pelo workflow.

Confira na sua instância

Abra o campo de consulta das duas ações afetadas e acompanhe a origem de cada expressão. Verifique quais valores chegam de webhooks ou de outros gatilhos acessíveis externamente. Em homologação, use uma coleção de teste e entradas com aspas e chaves para conferir que o valor permanece no campo previsto, sem criar operadores ou ampliar os documentos retornados. Compare o resultado com a busca pelo identificador esperado.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
2.36.x< 2.36.2>= 2.36.2
2.35.x< 2.35.4>= 2.35.4

Até atualizar, revise consultas que incorporam entradas externas e restrinja o acesso aos endpoints que as alimentam. Para Nodes dispensáveis, o aviso orienta usar n8n-nodes-base.elasticsearch ou n8n-nodes-base.googleFirebaseCloudFirestore em NODES_EXCLUDE.

Gravidade moderadaCVSS: 5,3/10Correção disponível

Insights revela nomes e estatísticas de projetos sem autorização

As rotas /rest/insights/* verificavam a permissão insights:list na instância, mas encaminhavam o projectId recebido sem conferir a participação do solicitante no projeto. Um usuário com um papel personalizado restrito à visualização de Insights podia consultar outro projeto e obter nomes de workflows, nomes de projetos e estatísticas de execução. Esses nomes podem identificar o cliente atendido ou a finalidade de uma automação.

Casos de uso afetados

  • Você separa automações de clientes por projeto e concede acesso a Insights por um papel personalizado. Um usuário sem participação no projeto de outro cliente pode consultar suas informações ao indicar o projectId correspondente.

Confira na sua instância

Examine os papéis personalizados com insights:list ou insights:read. Em homologação, autentique um usuário restrito ao projeto de teste A e consulte uma rota de Insights usando o projectId do projeto de teste B. Confira se a resposta recusa o acesso e não retorna nomes nem estatísticas do projeto B. Faça essa conferência com projetos e usuários de teste após atualizar.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
2.36.x< 2.36.2>= 2.36.2
2.35.x< 2.35.4>= 2.35.4

O aviso não relata exposição de credenciais nem do conteúdo das execuções. Como medida temporária, revise e revogue os papéis globais personalizados com permissões de Insights, mantendo esse acesso apenas para usuários de confiança.

Gravidade moderadaCVSS: 5,3/10Correção disponível

helpers.request() valida uri, mas envia a requisição para url

O helper legado helpers.request(), disponível nos Nodes Code e Function, verificava o endereço da requisição usando preferencialmente a propriedade uri. Na conversão para o cliente HTTP, a propriedade url tinha preferência. Um workflow com ambas podia apresentar um endereço permitido à validação e direcionar a requisição para um endereço privado ou de loopback, devolvendo a resposta ao próprio workflow.

Casos de uso afetados

  • Você permite executar código em workflows e o servidor do n8n alcança serviços internos. Um usuário pode explorar a diferença entre uri e url para consultar um desses serviços apesar da verificação contra requisições indevidas feitas pelo servidor.
  • Um serviço responde somente no endereço de loopback do servidor. O helper vulnerável pode consultar esse endereço e tornar a resposta acessível dentro da execução do workflow.

Confira na sua instância

Examine os Nodes Code e Function que usam helpers.request() e procure objetos de requisição com uri e url simultaneamente. Compare o destino indicado em cada propriedade e confira os registros de acesso dos serviços internos para localizar requisições inesperadas. Na configuração da instância, verifique também a existência de um proxy de saída e confirme a versão instalada nas linhas 2.33.x ou 2.34.x.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
2.34.x< 2.34.1>= 2.34.1
2.33.x< 2.33.4>= 2.33.4

O comunicado orienta restringir o acesso à instância e ao Node Code para usuários sem confiança. Quando houver proxy de saída configurado, avalie sua necessidade e a possibilidade de removê-lo temporariamente até a atualização.

Voltar aos compilados de vulnerabilidades
Luiz Eduardo Oliveira Fonseca

Luiz Eduardo Oliveira Fonseca

Fundador e Mentor

Programador há mais de 20 anos, fundador da Powertic e da Promovaweb. Embaixador do n8n no Brasil e da Baserow, Chatwoot, Miro e Kestra. Membro do Product Team do Mautic.

Área pública disponível

Participe da comunidade no Discord

Entre pelo convite oficial, apresente-se à comunidade e acompanhe os avisos e projetos compartilhados entre os encontros.