Weaknesses of type CWE-471
37 resultsModificação de dados assumidos como imutáveis
Ocorre quando o código assume que um dado é constante ou não pode ser alterado, mas na verdade é mutável e pode ser modificado por código externo ou concorrente. Um atacante explora essa falsa suposição para alterar valores críticos em tempo de execução, comprometendo a lógica da aplicação.
Uma aplicação valida um email na variável 'usuario_email' no início da autenticação e depois usa essa variável em várias operações sem revisar, assumindo que ela nunca mudou. Porém, código concorrente ou injeção maliciosa altera 'usuario_email' antes de uma operação sensível, como recuperação de senha, enviando o código para um email diferente.
Use estruturas de dados imutáveis ou crie cópias dos dados críticos logo após validação. Em contextos multi-thread, sincronize acessos com locks ou use tipos thread-safe. Revalize dados sensíveis antes de cada operação crítica em vez de confiar em validação anterior.