Weaknesses of type CWE-343

5 results

Geração de valores previsíveis a partir de histórico

A aplicação gera valores que deveriam ser aleatórios ou imprevisíveis (tokens, IDs de sessão, nonces) usando um padrão derivado de valores anteriores. Um atacante que observa alguns valores consegue prever os próximos, comprometendo a segurança de autenticação, autorização ou criptografia.

Example

Um sistema gera IDs de sessão incrementando um contador ou usando timestamp + número sequencial. Ao capturar dois tokens consecutivos, o atacante deduz a fórmula e forja um terceiro token válido, assumindo a identidade de outro usuário.

How to mitigate

Use um gerador criptográfico de números aleatórios (CSPRNG) nativo da linguagem — `secrets` em Python, `SecureRandom` em Java, `crypto.getRandomValues()` em JavaScript. Nunca implemente seu próprio algoritmo de aleatoriedade; valide que nenhum padrão matemático relaciona valores consecutivos.