Weaknesses of type CWE-334
13 resultsEspaço insuficiente de valores aleatórios
A aplicação gera números aleatórios ou tokens a partir de um conjunto muito pequeno de possibilidades, tornando trivial adivinhar ou força-bruta o valor. Um atacante consegue listar todas as combinações válidas em tempo viável, comprometendo autenticação, autorização ou criptografia que dependem dessa aleatoriedade.
Um sistema de recuperação de senha gera um token usando apenas um inteiro de 16 bits (65.535 possibilidades); um atacante testa todos os valores em segundos. Ou um gerador de nonce para CSRF usa apenas a hora atual em segundos, deixando poucas opções válidas.
Use geradores criptográficos robustos (como `os.urandom()` em Python ou `SecureRandom` em Java) com tamanho mínimo de 128 bits. Valide o espaço de entropia: tokens críticos devem ter pelo menos 2^64 combinações possíveis, melhor 2^128 ou mais.