Weaknesses of type CWE-571

1 result

Expressão Always True

Ocorre quando uma condição lógica no código é construída de forma que sempre avalia como verdadeira, independente dos dados de entrada. Isso geralmente resulta de erro na lógica de comparação (uso de OR quando deveria ser AND, comparações impossíveis, ou operadores incorretos) e pode contornar validações críticas de segurança ou criar fluxos de código morto.

Example

Um validador que verifica se um valor é válido usando 'if (x < 10 || x > 10)' sempre passa, pois qualquer número é menor OU maior que 10. Se esta expressão protege acesso admin, um atacante consegue burlar a verificação.

How to mitigate

Revise toda lógica condicional durante code review, especialmente em validações de segurança. Use testes unitários que cobrem casos limite e valores edge para garantir que validações realmente rejeitam entradas inválidas.