Every CVE Search/ Get API key

CVE-2021-41274

Authentication Bypass by CSRF Weakness

9.3 CriticalFix available

solidus_auth_devise provides authentication services for the Solidus webstore framework, using the Devise gem. In affected versions solidus_auth_devise is subject to a 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) or 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). Users should promptly update to solidus_auth_devise version 2.5.4. Users unable to update should if possible, change their strategy to :exception. Please see the linked GHSA for more workaround details.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
None

Exploit likelihood

0.73%Up 0.1 points since Nov 18, 2021
90%50%10%1%

What each source reports

CVE List Score used 9.3

Authentication Bypass by CSRF Weakness

solidus_auth_devise provides authentication services for the Solidus webstore framework, using the Devise gem. In affected versions solidus_auth_devise is subject to a 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) or 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). Users should promptly update to solidus_auth_devise version 2.5.4. Users unable to update should if possible, change their strategy to :exception. Please see the linked GHSA for more workaround details.

Record
CVE-2021-41274
CVSS 3.1
9.3 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Weakness
CWE-352
Updated
2026-11-02
EUVDEUVD-2021-2414 9.3

solidus_auth_devise provides authentication services for the Solidus webstore framework, using the Devise gem. In affected versions solidus_auth_devise is subject to a 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) or 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). Users should promptly update to solidus_auth_devise version 2.5.4. Users unable to update should if possible, change their strategy to :exception. Please see the linked GHSA for more workaround details.

Record
EUVD-2021-2414
CVSS 3.1
9.3 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-xm34-v85h-9pg2 9.3

Authentication Bypass by CSRF Weakness

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:

    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:

    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

Thanks

We'd like to thank vampire000 for reporting this issue.

For more information

If you have any questions or comments about this advisory:

Record
GHSA-xm34-v85h-9pg2
CVSS 3.1
9.3 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Weakness
CWE-352
Updated
2026-11-02
NVD 9.3

solidus_auth_devise provides authentication services for the Solidus webstore framework, using the Devise gem. In affected versions solidus_auth_devise is subject to a 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) or 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). Users should promptly update to solidus_auth_devise version 2.5.4. Users unable to update should if possible, change their strategy to :exception. Please see the linked GHSA for more workaround details.

Record
CVE-2021-41274
CVSS 3.1
9.3 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 2.0
6.8 MediumAV:N/AC:M/Au:N/C:P/I:P/A:P
Weakness
CWE-352
Updated
2026-11-02
OSV 8.8

solidus_auth_devise provides authentication services for the Solidus webstore framework, using the Devise gem. In affected versions solidus_auth_devise is subject to a 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) or 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). Users should promptly update to solidus_auth_devise version 2.5.4. Users unable to update should if possible, change their strategy to :exception. Please see the linked GHSA for more workaround details.

Record
CVE-2021-41274
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVGHSA-xm34-v85h-9pg2 9.3

Authentication Bypass by CSRF Weakness

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:

    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:

    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

Thanks

We'd like to thank vampire000 for reporting this issue.

For more information

If you have any questions or comments about this advisory:

Record
GHSA-xm34-v85h-9pg2
CVSS 3.1
9.3 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Weakness
CWE-352
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
solidus_auth_devise
RubyGems
1.0.0 up to 2.5.4
2.5.4
solidus_auth_devise
RubyGems
1.0.0 up to 2.5.4, plus listed versions
1.1.01.2.01.2.11.2.21.2.3
Show 17 moreShow less
1.3.01.4.01.5.01.6.01.6.11.6.21.6.31.6.42.0.02.1.02.2.02.3.02.4.02.5.02.5.12.5.22.5.3
2.5.4

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2021-41274 is a critical vulnerability (CVSS 9.3) in Nebulab Solidus Auth Devise, published November 17, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.73%, the 54th percentile. Fixed in solidus_auth_devise 2.5.4.

References

MoveEnter Open