Weaknesses of type CWE-1240
20 resultsUso de primitiva criptográfica com implementação insegura
Ocorre quando o desenvolvedor escolhe uma primitiva criptográfica (algoritmo, função hash ou cifra) correta, mas implementa ou a integra de forma insegura—por exemplo, gerando chaves fracas, reutilizando IVs, ignorando validação de autenticidade ou usando modo de operação inadequado. O risco está em que a falha acontece depois que a decisão 'certa' de usar criptografia foi tomada, passando despercebida em auditorias superficiais.
Um desenvolvedor usa AES-256 (ótimo), mas implementa manualmente o preenchimento (padding) de forma incorreta, permitindo ataques de oráculo. Ou gera um IV aleatório de 2 bytes em vez de 16, reduzindo drasticamente o espaço de busca de um atacante que tenta quebrar a cifra.
Use bibliotecas de criptografia consolidadas (OpenSSL, libsodium, cryptography do Python) em vez de implementar manualmente; revise a forma como chaves, IVs e nonces são gerados e reutilizados; e teste implementação contra vetores de ataque conhecidos (oráculo de padding, reuso de IV, etc.). Evite 'reinventar a roda' em criptografia.