Fallos del tipo CWE-1025
12 resultadosComparação usando fatores incorretos
É quando o código compara valores ou objetos usando critérios incompletos ou errados, deixando passar situações que deveriam ser bloqueadas. Por exemplo, comparar apenas parte de um token em vez do token completo, ou verificar apenas um aspecto de uma permissão quando deveria verificar todos. O risco é contornar validações de segurança como autenticação, autorização ou integridade de dados.
Um sistema valida apenas os primeiros 8 caracteres de uma senha de 16, permitindo que dois usuários com senhas diferentes (começadas igual) sejam tratados como idênticos. Ou uma API compara apenas o nome de usuário para autorização, ignorando o domínio, liberando acesso para usuários não autorizados com nomes similares.
Revise toda lógica de comparação: use comparações completas (sempre comparar o todo, não fragmentos), documente explicitamente quais campos ou fatores entram em cada validação, e adicione testes unitários que cubram casos limítrofes (valores parcialmente similares, dados incompletos).