Falhas do tipo CWE-415
310 resultadosUso após liberação de memória
Ocorre quando o código tenta acessar um bloco de memória que já foi desalocado (free, delete). Após a liberação, aquele endereço pode ser reutilizado pelo sistema ou conter lixo, causando comportamento imprevisível, corrupção de dados ou execução de código arbitrário.
Um ponteiro é liberado com free() e depois o código tenta ler ou escrever nele novamente — por exemplo, chamar um método em um objeto deletado em C++, ou acessar um array após liberar sua memória. Um atacante pode explorar isso alocando novamente aquele espaço com dados maliciosos.
Use linguagens com garbage collection ou gerenciamento automático de memória (Python, Java, Go). Em C/C++, implemente validação rigorosa de ponteiros, use smart pointers (unique_ptr, shared_ptr), defina ponteiros como nullptr após liberar, e revise fluxos de desalocação em código crítico com ferramentas como AddressSanitizer e Valgrind.