Falhas do tipo CWE-1023

24 resultados

Comparação Incompleta com Fatores Ausentes

Ocorre quando uma comparação de valores (como strings, números ou objetos) não leva em conta todos os fatores relevantes para a decisão de segurança. O código valida apenas parte das condições necessárias, deixando lacunas que um atacante pode explorar para contornar verificações de autenticação, autorização ou integridade.

Exemplo

Um sistema verifica se uma URL começa com 'https://' para garantir que é segura, mas não valida o domínio, porta ou parâmetros. Um atacante usa 'https://attacker.com/phishing' e a validação passa, mesmo apontando para um servidor malicioso. Outro caso: comparar apenas o ID do usuário sem verificar se ele foi deletado logicamente.

Como mitigar

Identifique todos os fatores que devem ser comparados para uma decisão segura (domínio, permissões, timestamps, status de atividade, etc) e implemente validações completas. Use listas brancas explícitas em vez de validações parciais, e teste casos limite onde fatores estão ausentes ou conflitam.