Falhas do tipo CWE-335
21 resultadosUso incorreto de sementes em gerador de números pseudoaleatórios
Ocorre quando a aplicação inicializa um PRNG com uma semente previsível, fraca ou reutilizada, comprometendo a aleatoriedade dos números gerados. Isso expõe operações criptográficas, tokens de sessão e sorteios a predição ou reprodução por atacantes.
Um sistema gera tokens de sessão usando srand(time(NULL)) como semente: como time() avança apenas a cada segundo, um atacante próximo consegue adivinhar ou reproduzir o token. Ou um PRNG inicializado sempre com a mesma semente fixa gera a mesma sequência de números em cada execução.
Use /dev/urandom, arc4random() ou APIs criptográficas do SO (CryptGenRandom no Windows, getrandom() no Linux) para semear o PRNG. Nunca use time(), PID ou dados previsíveis como semente; sempre reutilize a semente de uma única operação de entropia do sistema operacional.