Weaknesses of type CWE-337
13 resultsSemente previsível em gerador de números pseudoaleatórios
Ocorre quando um PRNG é inicializado com uma semente determinística ou facilmente adivinhável (como timestamp do sistema, PID do processo, ou valor fixo em código). Isso torna a sequência de números 'aleatórios' reproduzível, comprometendo criptografia, tokens de sessão e qualquer mecanismo que dependa de aleatoriedade.
Um sistema gera tokens de reset de senha usando Math.random() com semente derivada apenas do horário atual. Um atacante, sabendo quando o token foi gerado (±alguns segundos), consegue gerar a mesma sequência e falsificar o token.
Use /dev/urandom (Linux), SecureRandom (Java), secrets.SystemRandom (Python 3) ou bibliotecas criptográficas que já abstraem a entropia do SO. Nunca faça semente manual com timestamp, PID ou dados públicos; deixe o sistema operacional fornecer a entropia.