Fallos del tipo CWE-303
97 resultadosImplementação incorreta de algoritmos de autenticação
Ocorre quando o desenvolvedor implementa um algoritmo de autenticação de forma incorreta, desviando do padrão esperado ou cometendo erros lógicos na validação de credenciais. Isso pode permitir que atacantes contornem o mecanismo de autenticação através de entradas malformadas, race conditions ou falhas na comparação de senhas.
Um sistema que compara senhas usando operadores de igualdade simples (==) em vez de funções timing-safe, permitindo timing attacks. Outro caso: validação de JWT que não verifica assinatura ou aceita algoritmo 'none'. Ou ainda, implementar autenticação multi-fator que deixa um caminho para bypass se a segunda autenticação falhar.
Use bibliotecas de autenticação maduras e bem auditadas (passlib, bcrypt, argon2) em vez de implementar do zero. Aplique testes unitários e de segurança específicos para fluxos de autenticação, incluindo casos de falha. Faça code review focado em algoritmos criptográficos e nunca compare credenciais com == em linguagens tipo Python/Java — use funções timing-safe.