Fallos del tipo CWE-478

1 resultado

Falta de caso padrão em expressão com múltiplas condições

Ocorre quando um switch statement ou cadeia de if-else if não possui um caso padrão (default) para lidar com valores inesperados. Isso deixa o código comportar-se de forma indefinida quando uma entrada não prevista é recebida, podendo causar erros lógicos, falhas silenciosas ou comportamento explorado por atacantes.

Ejemplo

Um switch que valida um status de pedido (1, 2, 3) sem default: se chegar status 99, nenhuma ação ocorre e o código prossegue sem erro, deixando o pedido em estado inválido. Ou um if-else que valida role de usuário (admin, user) e não trata role=null, permitindo bypass de controle de acesso.

Cómo mitigar

Sempre adicione um caso padrão (default no switch ou else final) que lance exceção, registre o erro ou recuse a operação explicitamente. Valide e rejeite antecipadamente qualquer valor fora do conjunto esperado, em vez de deixar silenciosamente sem tratamento.