Weaknesses of type CWE-1330

1 result

Dados residuais legíveis após limpeza de memória

Ocorre quando dados sensíveis (senhas, chaves criptográficas, tokens) não são completamente apagados da memória durante a execução do programa. Mesmo após operações de 'limpeza', técnicas forenses ou acesso ao dump de memória conseguem recuperar essas informações, comprometendo confidencialidade.

Example

Uma aplicação Java processa uma senha em um array de caracteres, valida-a e depois trata como 'limpeza' apenas atribuir null. Um atacante com acesso físico ou via exploração de vulnerabilidade extrai o heap e recupera a senha ainda presente nos blocos de memória não reutilizados.

How to mitigate

Use APIs de limpeza segura de memória (como Arrays.fill() em Java, SecureString em .NET, ou mlock/memset_s em C). Prefira estruturas de dados que permitem sobrescrita explícita (char[] ao invés de String) e considere alocadores de memória com garantias de limpeza automática em contextos sensíveis.