Fallos del tipo CWE-882
2 resultadosEliminação incompleta de dados sensíveis
A fraqueza ocorre quando um programa não remove completamente dados sensíveis da memória, disco ou outros recursos antes de liberar ou reutilizar esses locais. Um invasor pode recuperar fragmentos desses dados após a liberação, expondo informações críticas como senhas, chaves criptográficas ou tokens de autenticação.
Uma aplicação web armazena a senha do usuário em um buffer, valida-a contra o hash armazenado e depois libera a memória sem zerá-la. Um atacante com acesso ao dump de memória ou ao espaço antes de ser reatribuído consegue recuperar a senha em texto plano que ainda está lá.
Sempre zere explicitamente buffers contendo dados sensíveis antes de liberá-los (use `memset(buffer, 0, size)` em C/C++, ou equivalentes seguros em outras linguagens). Considere usar estruturas que garantem limpeza automática (como `SecureString` em .NET ou bibliotecas especializadas) e evite copiar dados sensíveis desnecessariamente entre variáveis.