Weaknesses of type CWE-1038
6 resultsOtimizações automatizadas inseguras
Ocorre quando compiladores, frameworks ou ferramentas de build aplicam otimizações automáticas que removem ou modificam código de segurança sem considerar as implicações. Isso pode desabilitar verificações de validação, limpeza de memória sensível ou lógica de autenticação, deixando a aplicação vulnerável.
Um compilador remove uma instrução explícita de zeragem de senha da memória porque a considera 'código morto' (ninguém lê a variável depois). A senha permanece em RAM em texto claro, expondo dados sensíveis.
Use flags de compilação que preservem código crítico de segurança (ex: `-fno-optimize-sibling-calls`, `volatile` em C/C++). Valide o código gerado, especialmente para operações criptográficas e limpeza de memória. Documente explicitamente quais otimizações não devem ser aplicadas em seções de segurança.