module
Ruby on Rails Devise Authentication Password Reset
| Disclosed | Created |
|---|---|
| Jan 28, 2013 | May 30, 2018 |
Disclosed
Jan 28, 2013
Created
May 30, 2018
Description
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 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.
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 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.
Authors
joernchen
jjarmoc
jjarmoc
References
Module Options
To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':
Rapid7 Labs
2026 Global Threat Landscape Report
The predictive window has collapsed. Exploitation follows disclosure in days. See how attackers are accelerating and how to stay ahead.