Falhas do tipo CWE-1038

6 resultados

Otimizações automatizadas inseguras

Ocorre quando compiladores, interpretadores ou ferramentas de build aplicam otimizações de código que, inadvertidamente, removem ou modificam verificações de segurança, validações ou tratamento de erros. O resultado é código otimizado mais rápido, mas com brechas de segurança que não existiam no código-fonte original.

Exemplo

Um compilador remove uma verificação de limite de buffer porque detecta que o valor nunca será negativo em análise estática, mas não prevê condições de corrida em ambiente multithreaded. Ou uma ferramenta de otimização elimina uma verificação de nulidade de ponteiro assumindo que jamais será nulo, abrindo espaço para null pointer dereference em casos inesperados.

Como mitigar

Desabilite otimizações agressivas que podem remover código de segurança (flags como `-O0` ou `-Ofast` perigosas); revise configurações do compilador/build e documente quais otimizações são seguras; execute testes de segurança e fuzzing na versão otimizada final, não apenas no código-fonte.