Falhas do tipo CWE-1250

5 resultados

Inconsistência entre representações independentes de estado compartilhado

Ocorre quando uma aplicação mantém múltiplas cópias ou representações do mesmo dado (em cache, memória, banco de dados, etc.) sem sincronizar corretamente quando uma delas é modificada. Isso causa divergência: algumas partes do código trabalham com dados desatualizados enquanto outras usam a versão atual, levando a comportamentos inesperados e falhas de segurança.

Exemplo

Um sistema de e-commerce armazena o saldo do cliente tanto em cache em memória quanto no banco de dados. Quando uma compra é processada, apenas o banco atualiza, mas o cache não é invalidado. Requisições subsequentes consultam o cache e permitem compras mesmo com saldo insuficiente, porque a representação em cache está obsoleta.

Como mitigar

Implemente mecanismos de invalidação de cache sincronizados com atualizações de dados (usar padrões como cache-aside ou write-through), adote estratégias de versionamento de estado, ou centralize a fonte de verdade única. Teste cenários de concorrência e race conditions envolvendo múltiplas representações.