Fallos del tipo CWE-334
13 resultadosEspaço insuficiente de valores aleatórios
A aplicação gera números ou tokens aleatórios usando um espaço de possibilidades muito pequeno, permitindo que um atacante adivinhe ou força bruta rapidamente. O problema é que a aleatoriedade é previsível ou limitada, comprometendo mecanismos de segurança que dependem dela, como tokens de sessão, senhas temporárias ou nonces criptográficos.
Um sistema gera tokens de redefinição de senha usando apenas 4 dígitos numéricos (0000 a 9999), totalizando 10 mil combinações. Um atacante consegue testar todas em segundos. Outro caso: usar rand() do C em vez de uma fonte criptograficamente segura, ou gerar IDs de sessão com apenas 16 bits.
Use geradores criptograficamente seguros (como /dev/urandom no Linux, crypto.getRandomBytes() no Node.js, ou secrets do Python) com espaço suficiente (mínimo 128 bits para tokens sensíveis). Evite funções frágeis como rand() ou Math.random(), e sempre valide o tamanho efetivo da entropia gerada.