GitHub Advisoryadvisory · RubyGems

GHSA-xm34-v85h-9pg2 Authentication Bypass by CSRF Weakness

CRITICAL Published 2021-11-18 Modified 2021-11-17 Official page ↗
Aliases
CVE-2021-41274
Ecosystem
RubyGems
Packages
solidus_auth_devise
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Weaknesses
CWE-352
Reviewed
2021-11-17

Affected packages

• RubyGems solidus_auth_devise: >= 1.0.0, < 2.5.4 → fixed in 2.5.4

Description

Impact CSRF vulnerability that allows user account takeover. All applications using any version of the frontend component of `solidus_auth_devise` are affected if `protect_from_forgery` method is both: • Executed whether as: • A `before_action` callback (the default) • A `prepend_before_action` (option `prepend: true` given) before the `:load_object` hook in `Spree::UserController` (most likely order to find). • Configured to use `:null_session` or `:reset_session` strategies (`:null_session` is the default in case the no strategy is given, but `rails --new` generated skeleton use `:exception`). That means that applications that haven't been configured differently from what it's generated with Rails aren't affected. Patches Users should promptly update to `solidus_auth_devise` version `2.5.4`. Workarounds A couple of options: • If possible, change your strategy to `:exception`: ```ruby class ApplicationController < ActionController::Base protect_from_forgery with: :exception end ``` • Add the following to `config/application.rb` to at least run the `:exception` strategy on the affected controller: ```ruby config.after_initialize do Spree::UsersController.protect_from_forgery with: :exception end ``` • We've also released new Solidus versions monkey patching `solidus_auth_devise` with the quick fix. Those versions are `v3.1.3`, `v.3.0.3` & `v2.11.12`. See GHSA-5629-8855-gf4g for details. References • CSRF on the Rails guides • Solidus security Thanks We'd like to thank vampire000 for reporting this issue. For more information If you have any questions or comments about this advisory: • Open an issue in solidus_auth_devise or a discussion in solidus • Email us at [email protected] • Contact the core team on Slack

Related

Alias · CVE (1)

  • CVE-2021-41274 solidus_auth_devise provides authentication services for the Solidus webstore framework, using the Devise gem. vulnerability

Weakness · CWE (1)

  • CWE-352 Cross-Site Request Forgery weakness

References