Weaknesses of type CWE-340

61 results

Geraçã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.

Example

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.

How to mitigate

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.