Falhas do tipo CWE-372
9 resultadosDistinção Incompleta de Estados Internos
O software não diferencia adequadamente entre múltiplos estados internos durante sua execução, permitindo transições inválidas ou comportamentos inesperados. Quando o código não valida ou não mantém corretamente o rastreamento do estado atual, um atacante pode explorar essa confusão para contornar controles de segurança, acessar recursos não autorizados ou desencadear operações fora de ordem.
Uma aplicação autenticada inicia uma operação sensível e marca um flag interno como 'processando'. Se não houver validação rigorosa dessa transição de estado, um atacante poderia reiniciar a sessão ou manipular requisições para pular etapas intermediárias, executando a operação sensível em estado não preparado ou sem as verificações de segurança esperadas.
Implemente máquinas de estado explícitas com validação rigorosa de cada transição permitida; use flags e variáveis de estado imutáveis ou protegidas, e sempre verifique o estado esperado antes de executar operações críticas. Testes de segurança (fuzzing de fluxo de estados) ajudam a identificar caminhos inválidos.