Fallos del tipo CWE-1223

2 resultados

Condição de corrida em atributos de escrita única

Ocorre quando múltiplas threads ou processos tentam escrever simultaneamente em um atributo que deveria ser definido apenas uma vez durante todo o ciclo de vida da aplicação. A falta de sincronização permite que mais de uma thread vença a corrida e altere o valor, violando a semântica de 'escrita única' e causando estado inconsistente ou comportamento impredizível.

Ejemplo

Um aplicativo inicializa uma chave criptográfica global sem lock. Se duas threads acionarem a inicialização quase simultaneamente, ambas podem escrever valores diferentes antes da outra perceber, deixando a chave em estado indefinido e comprometendo a segurança de sessões posteriores.

Cómo mitigar

Use mutexes, semáforos ou mecanismos de sincronização (como CAS — compare-and-swap) para garantir que a escrita única seja atômica. Considere também inicializar atributos críticos na fase de startup single-threaded, antes de aceitar requisições concorrentes.