Weaknesses of type CWE-1465

1 result

Invalidação inadequada de sessão após logout do usuário

A aplicação não encerra de forma efetiva a sessão do usuário quando ele faz logout. O cookie, token ou identificador de sessão continua válido no servidor, ou seja, apenas o cliente é 'desconectado' enquanto a credencial permanece utilizável. Isso faz com que qualquer pessoa que tenha obtido esse identificador antes do logout consiga continuar acessando a conta.

Example

Um usuário acessa o sistema em um computador compartilhado, faz logout e fecha o navegador, mas o token de sessão ainda é aceito pelo servidor. Quem copiar esse token (por exemplo, de um histórico, log ou dispositivo comprometido) pode reutilizá-lo horas depois e permanecer autenticado como a vítima.

How to mitigate

No logout, invalide a sessão no servidor (remova-a do armazenamento de sessões ou coloque o token em lista de revogação) e expire o cookie no cliente com os atributos Secure e HttpOnly. Para tokens stateless como JWT, mantenha tempo de vida curto e implemente mecanismo de revogação.