Weaknesses of type CWE-834
36 resultsIteração excessiva
Ocorre quando um loop ou processo recursivo não tem um limite adequado de iterações, permitindo que execute indefinidamente ou por um tempo muito longo. Isso consome recursos do sistema (CPU, memória) até causar negação de serviço, travamento ou crash da aplicação.
Um parser XML que processa nós aninhados sem verificar a profundidade máxima: um arquivo malicioso com milhares de camadas consegue travar o parser em poucos segundos. Outro caso: um algoritmo de busca que não limita tentativas e entra em loop infinito quando dados estão malformados.
Implemente sempre um limite explícito: contador que para a iteração, timeout para loops longos, ou validação de profundidade/tamanho antes de processar. Teste com entradas adversariais (dados muito grandes, aninhados ou malformados) para confirmar que o código não entra em consumo desenfreado de recursos.