Falhas do tipo CWE-606

45 resultados

Entrada não validada em condição de loop

Ocorre quando um loop usa dados de entrada do usuário diretamente em sua condição (como número de iterações ou limite) sem validação prévia. Um atacante pode fornecer valores malformados, negativos ou extremamente grandes que causam loops infinitos, consumo excessivo de CPU/memória, ou comportamento inesperado do programa.

Exemplo

Um sistema web recebe um parâmetro 'quantidade' do usuário e o usa direto em um loop: `for(int i = 0; i < quantidade; i++)` sem verificar se 'quantidade' é positivo e razoável. Um atacante envia quantidade = 999999999, travando a aplicação.

Como mitigar

Sempre validar e sanitizar entradas de usuário antes de usá-las em condições de loop: verificar se o valor está dentro de um intervalo esperado, é positivo e menor que um limite máximo definido pela lógica da aplicação. Implementar timeouts e limites de iteração como camada de defesa adicional.