CVE-2026-40295 in deviseinformación

Resumen

por VulDB • 2026-06-02

Devise es una solución de autenticación para Rails basada en Warden. En las versiones 5.0.3 y anteriores, cuando el módulo Timeoutable está habilitado en Devise, el método FailureApp#redirect_url devuelve request.referrer (el encabezado HTTP Referer, controlable por el atacante) sin validación para cualquier solicitud que no sea GET que resulte en un tiempo de espera de sesión. Un atacante que aloje una página con un formulario cross-origin de envío automático puede provocar que una víctima con una sesión de Devise expirada sea redirigida a una URL externa arbitraria. Esto contrasta con la ruta de tiempo de espera GET (que utiliza attempted_path del lado del servidor) y el mecanismo store_location_for de Devise (que elimina hosts externos mediante extract_path_from_location), ambos protegidos; solo la ruta de redirección de tiempo de espera para solicitudes no GET está desprotegida. Los usuarios con sesión expirada pueden ser redirigidos silenciosamente desde el dominio de confianza de la aplicación a URLs controladas por el atacante, lo que permite el phishing y la entrega de malware mientras se evitan las advertencias del navegador. Nota: la protección integrada de Rails contra redirecciones abiertas no mitiga este problema. Devise::FailureApp es una aplicación ActionController::Metal con su propia copia aislada de la configuración de redirección relevante, por lo que config.action_controller.action_on_open_redirect = :raise (y la configuración más antigua raise_on_open_redirects) no la alcanzan. Este problema se ha corregido en la versión 5.0.4.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

GitHub M

Reservar

2026-04-10

Divulgación

2026-05-22

Moderación

aceptado

Artículo

VDB-365270

CPE

listo

EPSS

0.00067

KEV

no

Actividades

bajo

Fuentes

Do you know our Splunk app?

Download it now for free!