Fallos del tipo CWE-335
21 resultadosUso incorreto de seeds em gerador de números pseudoaleatórios (PRNG)
Ocorre quando a aplicação inicializa um PRNG com um seed previsível ou insuficientemente aleatório (ex: timestamp, PID do processo, ou valor fixo), em vez de usar uma fonte de entropia criptográfica. Isso torna a sequência de números gerados previsível, comprometendo qualquer mecanismo que dependa dessa aleatoriedade, como tokens de sessão, chaves criptográficas ou sorteios.
Um aplicativo gera tokens de redefinição de senha usando srand(time(NULL)) seguido de rand(). Um atacante consegue prever o token porque sabe o horário aproximado em que foi gerado e pode testar poucos valores.
Use sempre /dev/urandom (Linux/Unix), getrandom() ou equivalentes do SO para obter entropia real; em código criptográfico, utilize bibliotecas específicas (como OpenSSL, Java SecureRandom, Python secrets). Nunca use time(), PIDs ou valores fixos como seed em contextos de segurança.