Falhas do tipo CWE-414

4 resultados

Falta de verificação de lock

Fraqueza onde o código acessa ou modifica um recurso compartilhado sem verificar se possui o lock necessário, ou sem garantir sincronização adequada. Isso permite que múltiplas threads acessem simultaneamente dados críticos, causando race conditions e corrupção de estado.

Exemplo

Uma função modifica um contador global sem adquirir um mutex primeiro. Dois threads executam ao mesmo tempo, causam leitura-modificação-escrita não-atômica e o contador final fica incorreto ou inconsistente.

Como mitigar

Use primitivas de sincronização (mutex, semáforo, lock) antes de acessar dados compartilhados. Considere usar estruturas thread-safe ou imutáveis quando possível, e teste com ferramentas que detectam race conditions como ThreadSanitizer ou análise estática.