Falhas do tipo CWE-499

2 resultados

Classe serializável contendo dados sensíveis

Uma classe marcada como serializável (implementa Serializable ou similar) armazena informações sensíveis como senhas, tokens ou chaves criptográficas sem proteção. Ao serializar o objeto, esses dados ficam expostos em forma legível ou facilmente recuperável, permitindo que um atacante os extraia do arquivo serializado ou fluxo de rede.

Exemplo

Uma classe Java que implementa Serializable contém campos privados com senha de banco de dados ou token JWT. Quando o objeto é serializado para disco ou tráfego de rede, um atacante com acesso ao arquivo ou ao stream consegue desserializar e ler esses dados diretamente, sem quebrar criptografia alguma.

Como mitigar

Remova dados sensíveis de classes serializáveis ou marque-os como transient (não serializados). Se a serialização é necessária, criptografe os dados antes, implemente writeObject/readObject para filtrar sensíveis, ou use um mecanismo de exclusão/mascaramento durante a serialização.