Fallos del tipo CWE-597
3 resultadosUso de operador incorreto em comparação de strings
Ocorre quando o desenvolvedor usa operador de identidade (===, is) em vez de igualdade (==, equals) para comparar strings, ou vice-versa. Isso causa falhas na validação porque linguagens como Java, Python e JavaScript diferenciam comparação de valor e referência de objeto, permitindo que strings logicamente iguais falhem na comparação.
Em Java, comparar String com == em vez de .equals() pode passar por duas strings diferentes em memória com o mesmo conteúdo; um atacante consegue contornar autenticação ou autorização se a validação usar o operador errado.
Use sempre .equals() em Java, == em strings Python literais ou .localeCompare() em JavaScript; configure linters (ESLint, SonarQube) para alertar sobre comparações suspeitas de strings. Revise código legado que faça validações críticas com operadores errados.