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.
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.
If you have any questions or comments about this advisory:
{ "nvd_published_at": "2022-06-01T18:15:00Z", "github_reviewed_at": "2022-06-01T20:26:37Z", "severity": "LOW", "github_reviewed": true, "cwe_ids": [ "CWE-352" ] }