Falhas do tipo CWE-783
20 resultadosErro de precedência de operadores
Ocorre quando o desenvolvedor usa a precedência incorreta de operadores lógicos ou aritméticos em uma expressão, resultando em uma avaliação diferente da intenção. Por exemplo, uma expressão com && e || pode executar em ordem diferente da esperada, causando lógica de validação ou controle de fluxo incorreta.
Um código de autenticação que deveria validar 'usuário admin OU (usuário normal E senha correta)' é escrito como 'usuário admin OR usuário normal AND senha correta', que devido à precedência do AND se torna '(usuário admin) OR (usuário normal AND senha)'. Um atacante pode contornar a verificação de senha se for admin, mesmo com credenciais inválidas.
Use parênteses explícitos em todas as expressões lógicas complexas para deixar a precedência clara e intencional. Implemente testes unitários que cubram casos limítrofes de lógica condicional e considere usar ferramentas de análise estática para detectar expressões ambíguas no código.