Vulnerability & Exploit Database

Back to search

Ruby on Rails Devise Authentication Password Reset

The Devise authentication gem for Ruby on Rails is vulnerable to a password reset exploit leveraging type confusion. By submitting XML to rails, we can influence the type used for the reset_password_token parameter. This allows for resetting passwords of arbitrary accounts, knowing only the associated email address. This module defaults to the most common devise URIs and response values, but these may require adjustment for implementations which customize them. Affects Devise < v2.2.3, 2.1.3, 2.0.5 and 1.5.4 when backed by any database except PostgreSQL or SQLite3. Tested with v2.2.2, 2.1.2, and 2.0.4 on Rails 3.2.11. Patch applied to Rails 3.2.12 and 3.1.11 should prevent exploitation of this vulnerability, by quoting numeric values when comparing them with non numeric values.

Free Metasploit Download

Get your copy of the world's leading penetration testing tool

 Download Now

Module Name



  • joernchen
  • jjarmoc




Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use auxiliary/admin/http/rails_devise_pass_reset msf auxiliary(rails_devise_pass_reset) > show actions ...actions... msf auxiliary(rails_devise_pass_reset) > set ACTION <action-name> msf auxiliary(rails_devise_pass_reset) > show options and set options... msf auxiliary(rails_devise_pass_reset) > run

Related Vulnerabilities