Falhas do tipo CWE-368

6 resultados

Condição de corrida em troca de contexto

É uma fraqueza onde múltiplas threads ou processos acessam e modificam dados compartilhados durante uma troca de contexto (mudança de qual thread/processo está em execução), sem sincronização adequada. O sistema operacional pode interromper um thread no meio de uma operação, permitindo que outro thread modifique o mesmo dado antes da operação terminar, causando inconsistência de estado ou corrupção de dados.

Exemplo

Um servidor de aplicação onde uma thread lê um saldo bancário, é interrompida pelo SO, outra thread modifica esse saldo, e a primeira thread continua com o valor desatualizado, resultando em operações financeiras incorretas ou duplicadas.

Como mitigar

Use mecanismos de sincronização (mutexes, semáforos, locks) ao acessar dados compartilhados, ou redesenhe para evitar compartilhamento desnecessário de estado mutável. Garanta que operações críticas sejam atômicas ou protegidas por sincronização explícita.