Advisory Database
  • Advisories
  • Dependency Scanning
  1. gem
  2. ›
  3. devise
  4. ›
  5. CVE-2026-40295

CVE-2026-40295: Devise has an Open Redirect via Unvalidated `request.referrer` in Timeoutable Session Timeout Handler

May 8, 2026

When the Timeoutable module is enabled in Devise, the FailureApp#redirect_url method returns request.referrer — the HTTP Referer header, which is attacker-controllable — without validation for any non-GET request that results in a session timeout. An attacker who hosts a page with an auto-submitting cross-origin form can cause a victim with an expired Devise session to be redirected to an arbitrary external URL. This contrasts with the GET timeout path (which uses server-side attempted_path) and Devise’s own store_location_for mechanism (which strips external hosts via extract_path_from_location), both of which are protected; only the non-GET timeout redirect path is unprotected.

References

  • github.com/advisories/GHSA-jp94-3292-c3xv
  • github.com/heartcombo/devise
  • github.com/heartcombo/devise/security/advisories/GHSA-jp94-3292-c3xv
  • nvd.nist.gov/vuln/detail/CVE-2026-40295

Code Behaviors & Features

Detect and mitigate CVE-2026-40295 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 5.0.4

Fixed versions

  • 5.0.4

Solution

Upgrade to version 5.0.4 or above.

Impact 6.1 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Learn more about CVSS

Weakness

  • CWE-601: URL Redirection to Untrusted Site ('Open Redirect')

Source file

gem/devise/CVE-2026-40295.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 09 May 2026 00:19:31 +0000.