Falhas do tipo CWE-484

1 resultado

Falta de Break em Switch

Ocorre quando um case de um switch não tem break, fazendo a execução "cair" para o case seguinte (fall-through). Isso causa lógica não intencional: o código executa instruções que não deveriam rodar, levando a comportamentos inesperados, corrupção de estado ou falhas de segurança.

Exemplo

Um validador de permissões onde case 'admin' não tem break acaba executando também case 'user', concedendo privilégios não esperados. Ou um parser de comandos que, faltando break após processar um tipo, processa também o tipo seguinte e causa corrupção de dados.

Como mitigar

Sempre adicione break ao fim de cada case (ou return/throw se apropriado). Use lint (ESLint, pylint, etc.) com regra de fall-through ativada. Revise switches em code review como ponto crítico.