Falhas do tipo CWE-413

21 resultados

Bloqueio inadequado de recursos

Ocorre quando código acessa ou modifica um recurso compartilhado (arquivo, memória, banco de dados) sem garantir que apenas uma thread ou processo o faça por vez. Isso causa condições de corrida, corrupção de dados ou comportamento imprevisível.

Exemplo

Uma aplicação web atualiza o saldo de uma conta sem usar locks: duas requisições simultâneas leem o mesmo saldo, decrementam valores diferentes e gravam de volta, perdendo uma das transações ou gerando inconsistência financeira.

Como mitigar

Use mecanismos de sincronização apropriados: mutexes, semáforos, transações com isolamento no banco de dados ou operações atômicas. Revise seções críticas do código que acessem estado compartilhado e garanta exclusão mútua.