Weaknesses of type CWE-331
87 resultsEntropia insuficiente em geração de valores aleatórios
A aplicação gera números aleatórios, tokens, chaves ou IDs usando fontes de entropia fraca ou previsível, permitindo que um atacante adivinhe ou reproduza esses valores. Isso compromete mecanismos que dependem de aleatoriedade criptográfica, como sessões, recuperação de conta e tokens de autenticação.
Um sistema gera tokens de reset de senha usando Math.random() em JavaScript ou com seed baseado em timestamp previsível, permitindo que um atacante calcule o token válido antes da janela de expiração e resete a senha de qualquer usuário.
Use geradores criptograficamente seguros nativos da plataforma (como `crypto.getRandomValues()` no navegador, `secrets` em Python ou `SecureRandom` em Java). Nunca use Math.random(), rand() ou srand(). Valide e revogue tokens após uso único quando possível.