Fallos del tipo CWE-415
310 resultadosUso após liberação de memória
Ocorre quando o código tenta acessar ou usar um bloco de memória que já foi liberado (free/delete). O programa continua referenciando um ponteiro inválido, levando a comportamento impreditível: corrupção de dados, execução arbitrária ou travamento. É uma das falhas mais críticas em linguagens de baixo nível como C e C++.
Um serviço web aloca memória para armazenar dados de sessão de um cliente, libera quando a sessão encerra, mas uma thread em segundo plano tenta ler essa sessão novamente sem verificar se ainda é válida. Um atacante pode explorar a corrupção resultante para escrever código malicioso naquele espaço de memória.
Use linguagens com gerenciamento automático de memória (Java, Python, Go) ou, em C/C++, adote práticas rigorosas: evite apontadores brutos, use smart pointers (unique_ptr, shared_ptr), implemente validação antes de acessar memória, e realize testes extensivos com ferramentas como AddressSanitizer e Valgrind.