Falhas do tipo CWE-1241
9 resultadosUso de algoritmo previsível em gerador de números aleatórios
A fraqueza ocorre quando o software usa um algoritmo determinístico ou com baixa entropia para gerar números que deveriam ser aleatórios (chaves criptográficas, tokens de sessão, nonces). Um atacante que conheça o algoritmo ou o estado inicial pode prever todos os valores gerados, comprometendo a segurança da aplicação.
Um sistema gera tokens de autenticação usando `Math.random()` em JavaScript ou `rand()` em C, que são funções de propósito geral e não criptograficamente seguras. Um atacante pode replicar a sequência de números e falsificar tokens válidos, assumindo controle de contas de usuários.
Use geradores de números aleatórios criptograficamente seguros: `java.security.SecureRandom` em Java, `secrets` em Python, `crypto.getRandomValues()` em JavaScript, ou `/dev/urandom` em sistemas UNIX. Nunca use funções genéricas de aleatoriedade para fins criptográficos.