Weaknesses of type CWE-1250
5 resultsInconsistência entre representações independentes do estado compartilhado
Ocorre quando um programa mantém duas ou mais cópias do mesmo dado (em cache, variáveis locais, registradores, etc.) sem sincronizá-las corretamente. Se uma representação é atualizada e a outra não, o código trabalha com informações inconsistentes, levando a decisões de segurança erradas ou comportamentos inesperados.
Um aplicativo web valida um arquivo de 5MB na memória, aprova e armazena seu tamanho em uma variável local. Depois, o arquivo original é modificado para 50MB no disco, mas a cópia em memória não é revalidada. O código confia no tamanho antigo e processa dados além do esperado, causando buffer overflow ou acesso a dados sensíveis.
Mantenha uma única fonte da verdade para cada estado crítico; se precisar de cópias, sincronize-as explicitamente ou use locks/mutexes. Em validações, revalide sempre depois de qualquer operação que possa modificar o estado original, especialmente em contextos multi-thread ou entre camadas (memória/disco).