Weaknesses of type CWE-340
50 resultsGeração de números ou identificadores previsíveis
Ocorre quando o software usa um algoritmo fraco ou determinístico para gerar números aleatórios, tokens de sessão ou IDs únicos, permitindo que um atacante preveja os próximos valores. O risco é grave em autenticação, autorização e proteção de dados sensíveis, pois a previsibilidade compromete a segurança de toda a camada de controle de acesso.
Um site gera tokens de sessão baseado em timestamp ou número sequencial: `token = timestamp + contador`. Um atacante observa alguns tokens válidos, identifica o padrão e cria tokens falsos para acessar contas de outros usuários sem credenciais legítimas.
Use geradores criptograficamente seguros (como `secrets` em Python, `SecureRandom` em Java ou `crypto.getRandomValues()` em JavaScript) para criar tokens, UUIDs e IDs. Nunca use `Math.random()`, `rand()` ou funções baseadas em tempo ou sequência para fins de segurança.