Security advisory
spree_auth_devise is an open source library which provides authentication and authorization services for use with the Spree storefront framework by using an underlying Devise authentication framework. In affected versions spree_auth_devise is subject to a CSRF vulnerability that allows user account takeover. All applications using any version of the frontend component of spree_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). Users are advised to update their spree_auth_devise gem. For users unable to update it may be possible to change your strategy to :exception. Please see the linked GHSA for more workaround details. ### Impact CSRF vulnerability that allows user account takeover. All applications using any version of the frontend component of `spree_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
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2021-41275
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 11:20 UTC · Revision 1
Source evidence
spree_auth_devise is an open source library which provides authentication and authorization services for use with the Spree storefront framework by using an underlying Devise authentication framework. In affected versions spree_auth_devise is subject to a CSRF vulnerability that allows user account takeover. All applications using any version of the frontend component of spree_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). Users are advised to update their spree_auth_devise gem. For users unable to update it may be possible to change your strategy to :exception. Please see the linked GHSA for more workaround details. ### Impact CSRF vulnerability that allows user account takeover. All applications using any version of the frontend component of `spree_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
osv:CVE-2021-41275
Complete source record
{
"id": "ac476dfbe157bbc7d474856d17aa42bd21651f7284bf6df0bf41463bc99204c5",
"url": "https://osv.dev/vulnerability/CVE-2021-41275",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2021-41275",
"summary": "spree_auth_devise is an open source library which provides authentication and authorization services for use with the Spree storefront framework by using an underlying Devise authentication framework. In affected versions spree_auth_devise is subject to a CSRF vulnerability that allows user account takeover. All applications using any version of the frontend component of spree_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). Users are advised to update their spree_auth_devise gem. For users unable to update it may be possible to change your strategy to :exception. Please see the linked GHSA for more workaround details. ### Impact CSRF vulnerability that allows user account takeover. All applications using any version of the frontend component of `spree_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",
"evidence": "osv:CVE-2021-41275",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2021-41275",
"aliases": [
"CVE-2021-41275",
"GHSA-26xx-m4q2-xhq8"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/spree/spree_auth_devise",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "e5927d10d7239582332dca2665d138f0634b4890"
},
{
"introduced": "0b77e2c59b33c974450b92d169841fc9c85272f7"
},
{
"fixed": "610267e7915d1871e3c3fb22b66d19f86360fcaf"
},
{
"introduced": "42a3ddad2a7c0009192bb3c967fdda91701f9907"
},
{
"last_affected": "35298a72fb1891b995d433b7ee0fa832b49e3892"
},
{
"fixed": "adf6ed4cd94d66091776b5febd4ff3767362de63"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:spreecommerce:spree_auth_devise:*:*:*:*:*:ruby:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "4.0.1"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:spreecommerce:spree_auth_devise:*:*:*:*:*:ruby:*:*",
"range": [
{
"introduced": "4.3.0"
},
{
"fixed": "4.4.1"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:spreecommerce:spree_auth_devise:4.1.0:-:*:*:*:ruby:*:*",
"range": [
{
"introduced": "4.1.0-NA"
},
{
"last_affected": "4.1.0-NA"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:spreecommerce:spree_auth_devise:4.1.0:rc1:*:*:*:ruby:*:*",
"range": [
{
"introduced": "4.1.0-rc1"
},
{
"last_affected": "4.1.0-rc1"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:spreecommerce:spree_auth_devise:4.2.0:*:*:*:*:ruby:*:*",
"range": [
{
"introduced": "4.2.0"
},
{
"last_affected": "4.2.0"
}
],
"source": "CPE_STRING"
},
{
"range": [
{
"fixed": "adf6ed4cd94d66091776b5febd4ff3767362de63"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"4.1.0-NA",
"4.1.0-rc1",
"4.2.0",
"v4.0.1",
"v4.0.0",
"v4.1.0",
"v4.2.0",
"v4.4.0",
"v4.3.4",
"v4.3.3",
"v4.3.0",
"v4.0.0.rc2",
"v4.0.0.rc1",
"v3.5.0",
"v3.4.2",
"v3.4.1",
"v.3.4.0",
"v3.3.2",
"v3.3.3",
"v3.3.1",
"v3.3.0",
"v3.3.0.rc1",
"v3.2.0",
"v3.1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-41275.json"
}
}
],
"modified": "2026-10-20T10:53:59.563009Z",
"provider": "osv",
"references": [
"https://github.com/spree/spree_auth_devise/security/advisories/GHSA-26xx-m4q2-xhq8",
"https://github.com/spree/spree_auth_devise/commit/adf6ed4cd94d66091776b5febd4ff3767362de63"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2021-41275",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 384806,
"published_at": "2021-11-17T20:15:10.527+00:00"
}