Fallos del tipo CWE-662
17 resultadosSincronização inadequada entre threads
Ocorre quando múltiplas threads acessam e modificam dados compartilhados sem mecanismos de sincronização (locks, mutexes, semáforos). Isso causa race conditions, onde o resultado depende da ordem de execução das threads, levando a corrupção de dados, travamentos ou comportamento imprevisível.
Um contador de usuários simultâneos em uma aplicação web: duas requisições leem o valor 100, ambas incrementam para 101 e escrevem de volta. O resultado deveria ser 102, mas é apenas 101. Se esse contador controla limites críticos, o sistema fica vulnerável.
Use primitivas de sincronização nativa da linguagem (synchronized em Java, locks em Python, mutexes em C), ferramentas de detecção estática (thread sanitizers), e testes com alto grau de concorrência. Para dados compartilhados críticos, considere estruturas thread-safe ou design que evite compartilhamento direto.