Weaknesses of type CWE-1241
9 resultsUso de algoritmo previsível em gerador de números aleatórios
Ocorre quando o código usa um gerador de números aleatórios com um algoritmo previsível ou com seed (semente) fraca, permitindo que um atacante preveja os valores gerados. Isso compromete qualquer funcionalidade que dependa de aleatoriedade criptográfica, como tokens de sessão, chaves temporárias ou IDs únicos.
Um sistema usa Math.random() do JavaScript para gerar tokens de reset de senha, ou um app Java usa java.util.Random com seed baseada em System.currentTimeMillis(). Um atacante consegue calcular o próximo token e invadir contas alheias.
Use APIs criptograficamente seguras: java.security.SecureRandom em Java, os.urandom() em Python, crypto.getRandomBytes() em Node.js. Evite Math.random(), rand() ou algoritmos LCG (Linear Congruential Generator) para operações sensíveis.