Fallos del tipo CWE-1119

2 resultados

Uso excessivo de desvios incondicionais

É quando o código usa muitos `goto`, `break`, `continue` ou `return` sem condições claras, espalhando a lógica de forma desorganizada. Isso torna o fluxo do programa imprevisível e difícil de rastrear, aumentando risco de bugs, comportamentos inesperados e brechas de segurança.

Ejemplo

Um parser que usa `goto` em excesso para pular entre seções de validação de entrada, fazendo com que dados malformados escapem de certas verificações dependendo do caminho tomado no código. Um atacante explora a path não validada.

Cómo mitigar

Estruture a lógica com funções pequenas e bem definidas, use estruturas de controle claras (if/else, loops, try/catch), e evite `goto`. Implemente testes unitários que cobram todos os caminhos de execução para garantir que nenhuma entrada válida ou inválida escapa da validação.