Fallos del tipo CWE-341
15 resultadosEstado observável previsível
Ocorre quando o sistema gera valores que deveriam ser imprevisíveis (como tokens, IDs de sessão, nonces) usando apenas informações que um atacante pode observar ou deduzir do estado do sistema (como timestamp, contador sequencial ou dados públicos). Um adversário consegue prever o próximo valor e contornar mecanismos de segurança que dependem dessa imprevisibilidade.
Um site gera IDs de sessão concatenando timestamp + número do usuário (ex: '1699564800_42'). Um atacante observa dois tokens, vê o padrão de incremento no tempo, e consegue forjar um ID válido para outra sessão sem conhecer a senha. Ou um sistema de reset de senha usa um token baseado apenas no ID do usuário + data, permitindo que o atacante calcule tokens válidos para qualquer conta.
Use uma fonte de aleatoriedade criptograficamente segura (como `secrets` em Python, `java.security.SecureRandom` em Java, ou `/dev/urandom` em C) para gerar tokens e IDs sensíveis. Nunca confie em sequências previsíveis ou dados observáveis do sistema. Valide e expire rapidamente esses valores no servidor.