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
| Linha | Afetadas | Corrigidas |
|---|---|---|
| 1.3.x | < 1.3.18 | 1.3.19 |
| 1.2.x | < 1.2.18 | 1.2.19 |
| 1.1.x | < 1.1.18 | 1.1.19 |
| 1.0.x | < 1.0.42 | 1.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.
