module

Ruby on Rails Devise Authentication Password Reset

Disclosed
2013-01-28
Created
2018-05-30

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.

Authors

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
...show and set options...
msf auxiliary(rails_devise_pass_reset) > run

Title
NEW

Explore Exposure Command

Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.