Fallos del tipo CWE-244
20 resultadosLiberação de memória heap sem limpeza prévia
Quando um programa libera memória heap (malloc, new) sem antes sobrescrever seus dados sensíveis, informações confidenciais — como senhas, chaves criptográficas ou tokens — permanecem acessíveis na memória. Um atacante com acesso à máquina pode inspecionar a heap e recuperar esses dados mesmo após o programa ter 'liberado' a alocação.
Um aplicativo lê uma senha do usuário em um buffer alocado dinamicamente, verifica a autenticação e depois chama free() sem antes zerar o buffer. A memória volta ao pool livre do SO, mas o conteúdo da senha ainda está lá até ser reutilizado — e processos maliciosos ou ferramentas forenses podem lê-la.
Antes de liberar memória que contém dados sensíveis, sobrescreva o conteúdo com zeros ou dados aleatórios (use memset_s, SecureZeroMemory no Windows, ou equivalentes em sua linguagem). Considere também usar estruturas de dados especializadas que fazem limpeza automática, como secure string libraries.