Weaknesses of type CWE-698

22 results

Execução após redirecionamento

É quando o código continua executando operações críticas depois de iniciar um redirecionamento HTTP, porque não interrompe o fluxo de execução. O navegador vai para a nova página, mas a aplicação segue processando dados sensíveis, autenticação ou lógica de negócio no servidor — expondo informações ou permitindo ações não autorizadas.

Example

Um logout redireciona o usuário para a home, mas o código continua executando e registra informações da sessão em um log acessível, ou processa uma transação financeira antes de finalizar a sessão. Outro cenário: após redirecionar após login, o código tenta acessar um recurso protegido sem validação adicional.

How to mitigate

Use `return` ou `exit()` imediatamente após iniciar o redirecionamento (ex: `return redirect('/login')` ou `header('Location: ...'); exit;`). Separe claramente o fluxo de redirecionamento do processamento de lógica sensível — redirecione apenas após garantir que todas as operações críticas foram concluídas e validadas.