VYPR
Moderate severityNVD Advisory· Published Dec 20, 2021· Updated Aug 4, 2024

CSRF forgery protection bypass for Spree::OrdersController#populate

CVE-2021-43846

Description

solidus_frontend is the cart and storefront for the Solidus e-commerce project. Versions of solidus_frontend prior to 3.1.5, 3.0.5, and 2.11.14 contain a cross-site request forgery (CSRF) vulnerability that allows a malicious site to add an item to the user's cart without their knowledge. Versions 3.1.5, 3.0.5, and 2.11.14 contain a patch for this issue. The patch adds CSRF token verification to the "Add to cart" action. Adding forgery protection to a form that missed it can have some side effects. Other CSRF protection strategies as well as a workaround involving modifcation to config/application.rb` are available. More details on these mitigations are available in the GitHub Security Advisory.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
solidus_frontendRubyGems
< 2.11.142.11.14
solidus_frontendRubyGems
>= 3.0.0, < 3.0.53.0.5
solidus_frontendRubyGems
>= 3.1.0, < 3.1.53.1.5

Affected products

1

Patches

2
a1b9bf7f24f9

Merge pull request from GHSA-h3fg-h5v3-vf8m

https://github.com/solidusio/solidusMarc BusquéDec 20, 2021via ghsa
1 file changed · +0 1
  • frontend/app/controllers/spree/orders_controller.rb+0 1 modified
    @@ -10,7 +10,6 @@ class OrdersController < Spree::StoreController
         before_action :assign_order, only: :update
         # note: do not lock the #edit action because that's where we redirect when we fail to acquire a lock
         around_action :lock_order, only: :update
    -    skip_before_action :verify_authenticity_token, only: [:populate]
     
         def show
           @order = Spree::Order.find_by!(number: params[:id])
    
4d17cacf066d

Protect `Spree::OrdersController#populate` against CSRF attacks

https://github.com/solidusio/solidusMarc BusquéDec 14, 2021via ghsa
1 file changed · +0 1
  • frontend/app/controllers/spree/orders_controller.rb+0 1 modified
    @@ -10,7 +10,6 @@ class OrdersController < Spree::StoreController
         before_action :assign_order, only: :update
         # note: do not lock the #edit action because that's where we redirect when we fail to acquire a lock
         around_action :lock_order, only: :update
    -    skip_before_action :verify_authenticity_token, only: [:populate]
     
         def show
           @order = Spree::Order.find_by!(number: params[:id])
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

6

News mentions

0

No linked articles in our index yet.