Weaknesses of type CWE-763
39 resultsLiberação de ponteiro ou referência inválida
Ocorre quando o código tenta liberar (desalocar) um ponteiro ou referência que não aponta para memória alocada dinamicamente, ou que já foi liberada anteriormente. Isso corrompe o heap, causando crashes, vazamento de memória ou execução arbitrária de código.
Uma função recebe um ponteiro como parâmetro e o libera sem verificar se ele é válido ou se já foi desalocado antes. Um atacante passa um endereço inválido ou um ponteiro duplo (double-free) e o programa falha ou se torna explorável.
Valide ponteiros antes de liberar (verifique se são NULL ou se vieram de alocação própria), use wrappers de alocação que rastreiam memória, adote linguagens com garbage collection, e aplique análise estática de código para detectar double-free e liberações inválidas.