Fallos del tipo CWE-591
77 resultadosArmazenamento de dados sensíveis em memória sem proteção adequada
A aplicação mantém dados sensíveis (senhas, tokens, chaves criptográficas) em memória RAM sem mecanismos de proteção contra leitura não autorizada. Um atacante com acesso ao processo (via debugging, dump de memória, ou exploração local) consegue extrair essas informações com relativa facilidade.
Um aplicativo Java armazena a senha do usuário como String em memória e a reutiliza múltiplas vezes. Como Strings em Java são imutáveis, a senha permanece em RAM mesmo após ser descartada logicamente, podendo ser recuperada via análise de heap ou ferramentas de debugging.
Use estruturas específicas para dados sensíveis (char[] em Java, SecureString em .NET) que permitem limpeza explícita da memória. Implemente bloqueio de memória (mlock/VirtualLock) onde disponível, minimize o tempo de retenção de dados sensíveis, e considere criptografia de dados em repouso na memória em contextos de altíssimo risco.