GitHub Advisoryadvisory · RubyGems
GHSA-8639-qx56-r428 CSRF allows attacker to finalize/unfinalize order adjustments in solidus_backend
LOW
Official page ↗
- Aliases
- CVE-2022-31000
- Ecosystem
- RubyGems
- Packages
- solidus_backend
- Severity
- Low
- CVSS vector
- CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N
- Weaknesses
- CWE-352
- Reviewed
- 2022-06-01
Affected packages
• RubyGems solidus_backend: < 2.11.16 → fixed in 2.11.16
• RubyGems solidus_backend: >= 3.0.0, < 3.0.6 → fixed in 3.0.6
• RubyGems solidus_backend: >= 3.1.0, < 3.1.6 → fixed in 3.1.6
Description
Impact
CSRF vulnerability allowing attackers to change the state of an order's adjustments if they hold its number, and the execution happens on a store administrator's computer.
Reproduction steps:
• Take an order's number.
• Log in as an administrator.
• Visit that order's adjustments section (_Orders -> {Click on number} -> Adjustments_) and check that its adjustments are finalized (closed padlock under the State column).
• On another tab, visit `{your_site_url}/admin/orders/{order_number}/adjustments/unfinalize`.
• Notice how the adjustments are unfinalized (open padlock), even if the previous was a `GET` request which could have been linked from any other site.
• Visit `{your_site_url}/admin/orders/{order_number}/adjustments/finalize`.
• Notice how the adjustments are again finalized.
That happened because both routes were handled as `GET` requests, which are skipped by Rails anti-forgery protection.
Patches
Users should upgrade to solidus_backend v3.1.6, v3.0.6, or v2.11.16, depending on the major and minor versions in use.
References
• Rails CSRF protection.
For more information
If you have any questions or comments about this advisory:
• Open an issue or a discussion in Solidus.
• Email us at [email protected]
• Contact the core team on Slack
Related
Alias · CVE (1)
- CVE-2022-31000 solidus_backend is the admin interface for the Solidus e-commerce framework. vulnerability
Weakness · CWE (1)
- CWE-352 Cross-Site Request Forgery weakness
References
- https://github.com/solidusio/solidus/security/advisories/GHSA-8639-qx56-r428 web
- https://nvd.nist.gov/vuln/detail/CVE-2022-31000 advisory
- https://github.com/solidusio/solidus/commit/de796a2e0be7f154cae48b46e267501559d9716c web
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/solidus_backend/CVE-2022-31000.yml web
- https://github.com/solidusio/solidus package