Weaknesses of type CWE-341
15 resultsPrevisibilidade a partir de estado observável
Quando um sistema gera valores que deveriam ser imprevisíveis (como tokens, IDs de sessão ou números aleatórios), mas usa um estado que o atacante consegue observar ou deduzir para calcular o próximo valor. O resultado é um gerador de números aleatórios fraco que pode ser predito por quem conhece o contexto.
Um servidor gera tokens de autenticação baseado no horário do sistema ou no ID do usuário visível. Um atacante observa vários tokens legítimos, descobre o padrão temporal, e consegue forjar tokens válidos para outras contas ou sessões.
Use geradores de números aleatórios criptograficamente seguros (como `secrets` em Python, `java.security.SecureRandom` em Java, ou `/dev/urandom` em C). Nunca use dados observáveis (timestamp, IP, PID) como base para tokens ou sessões sensíveis.