Weaknesses of type CWE-1298

3 results

Condições de corrida em lógica de hardware

Ocorre quando dois ou mais sinais ou operações em hardware chegam simultaneamente ou em sequência não esperada, causando comportamento imprevisto. A falha acontece porque a lógica não sincroniza corretamente ou não previne acessos concorrentes a recursos compartilhados, permitindo estados inconsistentes ou decisões baseadas em dados intermediários.

Example

Um controlador de memória que processa leitura e escrita simultâneas no mesmo endereço sem arbitragem adequada pode retornar dados corrompidos ou antigos; ou um circuito de autenticação que verifica credenciais enquanto outro módulo ainda as está atualizando pode conceder acesso antes da validação terminar.

How to mitigate

Implementar mecanismos de sincronização robustos (mutex, semáforos, arbitragem de barramento), usar FIFOs ou filas para serializar operações concorrentes, e validar a lógica com testes de timing e simulações de cenários de race condition antes do fabrico.