Hash do BasicAuth permite descobrir a senha administrativa fora do Kestra
O BasicAuth armazena a senha como um hash SHA-512 calculado a partir do salt e da senha. O salt diferencia os hashes, mas o cálculo exige pouco processamento por tentativa. Um invasor que obtenha o registro kestra.server.basic-auth da tabela settings pode testar senhas localmente até encontrar uma combinação correspondente, sem enviar tentativas de login ao Kestra. A senha recuperada permite acesso administrativo e alteração dos flows. Em uma instalação Kubernetes com execução de comandos no worker e token de ServiceAccount acessível, esse acesso também pode permitir a leitura de Secrets conforme as permissões atribuídas ao pod.
Casos de uso afetados
- Você utiliza o BasicAuth em uma versão afetada e um backup do PostgreSQL fica acessível a um invasor. O registro de autenticação presente nesse arquivo permite testar senhas mesmo sem acesso direto à instância do Kestra.
- O PostgreSQL da sua instalação permite leitura não autorizada da tabela settings. A exposição do hash e do salt possibilita um ataque por dicionário fora da aplicação, sem que o limite de tentativas de login reduza esses testes.
- Você executa flows em Kubernetes com tarefas de shell no worker. Após recuperar a senha administrativa, um invasor pode criar um flow para ler o token montado da ServiceAccount e acessar Secrets caso as permissões dessa identidade autorizem a leitura.
Confira na sua instância
Confira a versão efetivamente executada pelo Kestra e compare-a com a faixa <=v1.3.1. Verifique se o BasicAuth está ativo. Com acesso administrativo ao PostgreSQL, inspecione o formato do campo password no registro kestra.server.basic-auth da tabela settings, sem divulgar o hash nem o salt. Uma sequência hexadecimal de 128 caracteres corresponde ao formato SHA-512 descrito no aviso. Revise as permissões de leitura dos backups e o acesso de rede ao banco. Em Kubernetes, confira se o token da ServiceAccount está montado no worker e se essa identidade pode ler Secrets no namespace utilizado. A API informa a correção 1.3.24, mas você ainda precisa confirmar a atualização da instância e verificar como as credenciais existentes foram migradas.
Versões afetadas e correções
| Linha | Afetadas | Corrigidas |
|---|---|---|
| Kestra | <=v1.3.1 | 1.3.24 |
O aviso também identifica a falha como CVE-2026-55069. O relato afirma que não havia patch na época da pesquisa, mas o campo de versões corrigidas da API informa 1.3.24. Os campos estruturados de pontuação estão vazios, embora o relato apresente 8,7. Restringir o acesso ao PostgreSQL e aos backups, usar uma senha aleatória longa e acompanhar os acessos à tabela settings são mitigações parciais que não corrigem o armazenamento com SHA-512.
