JavaScript persistente nos textos dos fluxos YAML
O Kestra aceita HTML nos textos enviados ao componente Markdown.vue e insere o resultado na página com v-html, sem sanitização. Um autor com permissão para gravar um fluxo pode inserir JavaScript nesses textos. Ao abrir o formulário Execute, você aciona a renderização de inputs[].displayName e inputs[].description, sem precisar preencher campos ou iniciar a execução. O código roda no navegador, sob a origem da interface do Kestra, e pode capturar tokens de sessão acessíveis e realizar chamadas à API com as permissões da sessão afetada.
Casos de uso afetados
- Você abre o formulário Execute de um fluxo criado ou alterado por outro autor. Os rótulos e as descrições das entradas podem executar código durante a apresentação do formulário, mesmo que você cancele a execução.
- A descrição do fluxo pode executar código quando você consulta o ícone de informação na lista Flows ou em Admin → Triggers. O aviso também aponta o widget Markdown do dashboard quando ele usa a fonte FlowDescription.
- No editor low-code, a descrição de uma tarefa é renderizada ao consultar seus detalhes. A tela de detalhes de um trigger também encaminha sua descrição ao componente Markdown afetado.
Confira na sua instância
Confira a versão instalada do Kestra e compare-a com a faixa <=1.3.3. Examine o YAML dos fluxos fora da interface de visualização, procurando HTML com atributos de evento, como onerror, nos campos inputs[].displayName e inputs[].description e nas descrições de fluxos e tarefas. Para conferir o mecanismo na revisão instalada, examine InputsForm.vue e o componente Markdown.vue: verifique se os textos das entradas chegam ao renderizador com html: true e se o resultado chega a v-html sem sanitização. A ausência de HTML suspeito nos fluxos examinados não comprova que a renderização foi corrigida.
Versões afetadas e correções
| Linha | Afetadas | Corrigidas |
|---|---|---|
| kestra | <=1.3.3 | Não informadas |
CVE-2026-33664. O comunicado propõe sanitizar o HTML gerado ou desativar o HTML para textos fornecidos nos fluxos. Esta falha envolve os campos YAML e é distinta do aviso sobre a pré-visualização de arquivos Markdown produzidos por execuções.
