Falhas do tipo CWE-768
1 resultadoAvaliação incorreta de circuito curto em expressões lógicas
Ocorre quando a lógica de uma expressão condicional não aproveita corretamente a avaliação de circuito curto (short-circuit evaluation), permitindo que operações perigosas sejam executadas mesmo quando não deveriam. Isso acontece quando a ordem dos operandos ou a estrutura da expressão faz com que verificações de segurança sejam ignoradas ou código vulnerável seja executado antes de validações protetoras.
Um código que valida permissões assim: `if (usuário.ativo && usuário.isAdmin()) { }` pode executar `isAdmin()` mesmo quando o usuário não está ativo, se a função tiver efeitos colaterais ou acessar recursos bloqueados. Ou quando se escreve `if (obj != null || obj.propriedade == valor)` — aqui a propriedade é acessada mesmo se obj for null, pois a ordem está invertida.
Ordene as verificações do mais restritivo para o menos restritivo (null/existência primeiro), garanta que condições de guarda executem antes de operações que dependem delas, e revise a intenção de cada operador lógico (&&/||) para confirmar que a sequência de avaliação protege contra estados inválidos.