Fallos del tipo CWE-821
13 resultadosSincronização Incorreta
Ocorre quando o código compartilha dados entre múltiplas threads ou processos sem mecanismos adequados de sincronização (locks, semáforos, mutexes). Isso permite que uma thread acesse ou modifique dados enquanto outra está fazendo o mesmo, causando corrupção de estado, comportamento imprevisível ou até vazamento de informações sensíveis.
Um serviço web que incrementa um contador global de requisições sem usar mutex: duas threads leem o valor 5 simultaneamente, incrementam para 6, e ambas escrevem 6 de volta — perdendo uma requisição e deixando o estado inconsistente. Em casos mais críticos, uma thread pode ler uma senha parcialmente sobrescrita por outra.
Use primitivas de sincronização apropriadas (mutex, RWLock, atomic operations) ao acessar dados compartilhados. Considere também redesenhar para evitar compartilhamento desnecessário — usar thread-local storage, imutabilidade ou arquitetura sem estado reduz significativamente o risco.