Fallos del tipo CWE-1241

9 resultados

Uso de Algoritmo Previsível em Gerador de Números Aleatórios

Ocorre quando o desenvolvedor usa um gerador de números 'aleatórios' que na verdade segue um padrão matemático previsível (como `Math.random()` ou `rand()`). Isso compromete qualquer mecanismo de segurança que dependa de aleatoriedade real, permitindo que um atacante preveja ou reproduza os valores gerados.

Ejemplo

Um sistema de autenticação que gera tokens de sessão usando `Math.random()` em JavaScript. Um atacante pode prever o próximo token observando alguns anteriores e hijackear a sessão de outro usuário sem conhecer a senha.

Cómo mitigar

Use geradores criptograficamente seguros: `crypto.getRandomValues()` em JavaScript, `secrets.token_urlsafe()` em Python, ou `SecureRandom` em Java. Evite absolutamente `Math.random()`, `rand()` ou `mt_rand()` para operações sensíveis de segurança.