Vulnerabilidades do Kestra em 04/09/2026

O aviso descreve uma falha de autorização no armazenamento de chave e valor (KV) do Kestra Enterprise. Você precisa conferir os namespaces usados pelos seus fluxos, pois nomes como prod2 e prod podem permitir acesso indevido mesmo com restrições em Allowed Namespaces.

AplicativoKestra
Data do compilado
Vulnerabilidades1

As versões corrigidas indicam a disponibilidade da correção no projeto. Confira qual versão está em execução na sua instância.

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

Prefixos semelhantes permitem acesso indevido ao KV de outro namespace

O Kestra verifica a relação entre namespaces com startsWith, sem exigir o ponto que separa os níveis da hierarquia. Por isso, um fluxo em prod2 pode ser considerado descendente de prod, embora os dois sejam namespaces distintos. Essa comparação dispensa a consulta a Allowed Namespaces e permite ler entradas por meio da função kv() com namespace explícito. A tarefa io.kestra.plugin.core.kv.Set usa a mesma verificação sem uma checagem adicional de permissão, permitindo também gravar ou sobrescrever entradas no namespace de destino.

Casos de uso afetados

  • Você restringe o namespace prod no Kestra Enterprise, mas um desenvolvedor autorizado a criar ou executar fluxos em prod2 pode acessar entradas do KV de prod, mesmo sem autorização no destino. A leitura indevida pode expor tokens armazenados nessas entradas.
  • Um fluxo executado em company.team2 pode usar a tarefa io.kestra.plugin.core.kv.Set para alterar entradas de company.team. Quando essas entradas guardam a posição de processamento da sua integração, a sobrescrita pode modificar o estado usado nas próximas execuções.

Confira na sua instância

Confira a edição e a versão em execução e compare-as com as correções da linha que você utiliza. No Enterprise, examine Allowed Namespaces no destino e procure pares como prod2/prod ou company.team2/company.team. Revise os fluxos desses namespaces e identifique chamadas a kv() com namespace explícito e tarefas io.kestra.plugin.core.kv.Set direcionadas ao namespace restrito. Na homologação, use entradas descartáveis para conferir se a leitura e a escrita são recusadas para um fluxo sem autorização no destino. Repita a conferência com um namespace sem prefixo comum, como other, para comparar as recusas. Uma leitura recusada pela tarefa kv.Get, isoladamente, não confirma a correção dos caminhos kv() e kv.Set.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
kestra-io/kestra-ee 2.0>= 0.18.02.0.0-rc13
kestra-io/kestra-ee 1.3>= 0.18.01.3.36
kestra-io/kestra-ee 1.0>= 0.18.01.0.58

O comunicado confirmou o defeito em testes com componentes simulados, sem registrar uma reprodução HTTP em uma instalação Enterprise. O desvio de autorização descrito depende das restrições de namespace dessa edição. A edição OSS não possui essa separação de permissões. As tarefas kv.Get, kv.Delete e kv.GetKeys fazem uma checagem adicional, e a função secret() não usa o desvio descrito. As faixas da API foram preservadas literalmente, inclusive a ausência de limite superior.

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.