Fallos del tipo CWE-1024
2 resultadosComparação entre tipos incompatíveis
Ocorre quando o código compara valores de tipos diferentes sem converter ou validar adequadamente, levando a resultados inesperados ou bypasses de segurança. O interpretador ou compilador pode fazer conversões implícitas que não condizem com a lógica esperada, permitindo que validações sejam contornadas ou decisões críticas sejam tomadas de forma incorreta.
Uma aplicação compara uma senha fornecida (string) diretamente com um hash armazenado usando == em vez de uma função de comparação segura, ou compara um ID de usuário (inteiro) com uma string sem validação, permitindo que um atacante contorne a autenticação com valores malformados que retornam verdadeiro por coerção de tipo.
Use comparação forte (=== ou equals()) ao invés de operadores fracos (== ou ==), implemente validação de tipo explícita antes de comparações críticas, e em autenticação use bibliotecas específicas (como bcrypt ou argon2) que não são vulneráveis a coerção de tipo. Revise o código para eliminar comparações entre tipos diferentes em fluxos de segurança.