Fallos del tipo CWE-697

103 resultados

Comparação Incorreta

Ocorre quando o código compara valores usando lógica errada — operador inadequado, tipos incompatíveis ou precedência de operadores mal interpretada — levando a decisões de segurança falharem silenciosamente. Um atacante pode contornar validações, autenticação ou verificações de autorização explorando essa lógica defeituosa.

Ejemplo

Um sistema valida senha fazendo `if (input == passwordHash)` em vez de usar função de comparação constante; ou verifica permissão com `if (userRole = 'admin')` (atribuição) em vez de `if (userRole == 'admin')` (comparação), permitindo bypass.

Cómo mitigar

Use operadores de comparação corretos (== vs = vs ===), implemente testes unitários que cobrem casos limítrofes, e para dados sensíveis (senhas, tokens) empregue funções de comparação timing-safe que não vazem informações por tempo de execução.