PT-2026-39182 · Heartcombo+3 · Devise+1
Offset
·
Publicado
2026-05-08
·
Atualizado
2026-05-23
·
CVE-2026-40295
CVSS v3.1
6.1
Média
| Vetor | AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Nome do Software Vulnerável e Versões Afetadas
Devise versões 5.0.3 e anteriores
Descrição
Quando o módulo
Timeoutable está habilitado, o método FailureApp#redirect url retorna o request.referrer (o cabeçalho HTTP Referer) sem validação para qualquer requisição que não seja GET e que resulte em tempo limite de sessão. Como o cabeçalho HTTP Referer é controlável pelo atacante, um invasor que hospede uma página com um formulário de origem cruzada com envio automático pode fazer com que uma vítima com sessão expirada seja redirecionada para uma URL externa arbitrária. Isso ocorre porque o caminho de redirecionamento de tempo limite não-GET não é protegido, ao contrário do caminho de tempo limite GET, que usa o attempted path do lado do servidor, e do mecanismo store location for, que utiliza extract path from location para remover hosts externos. Isso pode ser usado para phishing ou entrega de malware, redirecionando usuários de um domínio confiável para um site controlado pelo atacante, ignorando os avisos do navegador. A proteção nativa contra redirecionamento aberto do Rails não mitiga este problema, pois o Devise::FailureApp é um aplicativo ActionController::Metal com configuração de redirecionamento isolada.Recomendações
Atualizar para a versão 5.0.4.
Exploit
Correção
Open Redirect
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Devise
Ruby-Devise