Vulnerabilidades do Kestra em 26/05/2026

Os nomes de arquivo recebidos por um fluxo podem alcançar o sistema de arquivos do worker quando você os encaminha para inputFiles. O aviso de 26/05/2026 descreve uma falha de gravidade moderada que permite criar ou sobrescrever arquivos fora do diretório da tarefa, conforme as permissões do processo. Confira a origem desses nomes nos seus fluxos e compare a versão instalada com a linha correspondente abaixo.

AplicativoKestra
Data do compilado
Vulnerabilidades1
Gravidade moderadaCVSS: 6,5/10Correção disponível

Gravação fora do diretório da tarefa por nomes de arquivo em inputFiles

A propriedade inputFiles associa nomes de arquivo ao conteúdo que a tarefa prepara no worker. Nas versões afetadas, a função FilesService.inputFiles() escreve os arquivos após renderizar esses nomes, sem conferir se o caminho resultante permanece dentro do diretório de trabalho. Quando um fluxo aceita nomes enviados por uma chamada externa, um atacante pode incluir segmentos ../ para alcançar outras pastas e criar ou sobrescrever arquivos acessíveis ao processo do worker. Você pode ter arquivos locais alterados que outras tarefas lerão depois, com possíveis falhas nas execuções que dependem deles.

Casos de uso afetados

  • Um fluxo acionado por webhook encaminha trigger.body.files para uma entrada JSON e usa essa entrada em inputFiles de uma tarefa de script. As chaves enviadas na requisição definem os nomes gravados no worker, permitindo que o atacante forneça caminhos relativos para fora da pasta da tarefa.
  • Você recebe nomes de arquivo como entradas de execução e os utiliza nas chaves de inputFiles. A exposição depende desse controle sobre os nomes, mesmo quando o conteúdo dos arquivos parece adequado à tarefa.
  • Os seus fluxos preenchem WorkingDirectory.inputFiles ou a propriedade legada LocalFiles.inputs com nomes provenientes de entradas externas. O comunicado confirma que esses recursos também alcançam a função de gravação vulnerável.

Confira na sua instância

Confira a versão do Kestra efetivamente em execução nos workers e compare-a com a faixa da respectiva linha. Abra as definições dos fluxos e procure inputFiles, WorkingDirectory.inputFiles e LocalFiles.inputs. Nos gatilhos de webhook, acompanhe o caminho de trigger.body.files até inputs.files e verifique se as chaves recebidas são usadas como nomes de arquivo. Para cada ocorrência, confira o nome final após a renderização e identifique as pastas fora do diretório da tarefa nas quais o processo do worker tem permissão de escrita. Após aplicar a correção indicada para sua linha, confirme que os workers carregaram a versão atualizada e confira uma execução habitual com nomes de arquivo definidos por você.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
1.3.x< 1.3.181.3.19
1.2.x< 1.2.181.2.19
1.1.x< 1.1.181.1.19
1.0.x< 1.0.421.0.43

O aviso também identifica a falha como CVE-2026-48129. O efeito confirmado é a gravação de arquivos com as permissões do worker. O comunicado não confirmou execução remota de código diretamente a partir dessa falha. As faixas da API deixam sem classificação explícita as versões 1.3.18, 1.2.18, 1.1.18 e 1.0.42. As versões corrigidas informadas são as listadas na tabela, e sua disponibilidade não confirma a atualização da sua instância.

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.