Weaknesses of type CWE-1250

5 results

Inconsistê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.

Example

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.

How to mitigate

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).