Weaknesses of type CWE-1241

9 results

Uso 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.

Example

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.

How to mitigate

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.