Weaknesses of type CWE-606
38 resultsEntrada não validada em condição de loop
Ocorre quando dados fornecidos pelo usuário (ou fonte externa) são usados diretamente na condição de um loop sem validação prévia. Um atacante pode manipular essa entrada para causar loops infinitos, consumir recursos excessivos ou desviar o fluxo de execução do programa.
Um formulário web aceita um parâmetro 'quantidade' do usuário e usa `for(int i = 0; i < quantidade; i++)` sem verificar se quantidade é um número razoável. Um atacante envia quantidade = 2147483647 e tranca a aplicação em um loop infinito, indisponibilizando-a para outros usuários.
Sempre validar e sanitizar entradas antes de usá-las em condições de loop: verificar se o valor está dentro de um intervalo aceitável, se é do tipo esperado e se não ultrapassa limites de timeout ou recursos. Use whitelist de valores válidos quando possível.