{"url":"http://public2.vulnerablecode.io/api/packages/556526?format=json","purl":"pkg:gem/solidus_backend@3.0.4","type":"gem","namespace":"","name":"solidus_backend","version":"3.0.4","qualifiers":{},"subpath":"","is_vulnerable":true,"next_non_vulnerable_version":"3.0.6","latest_non_vulnerable_version":"3.1.6","affected_by_vulnerabilities":[{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/52749?format=json","vulnerability_id":"VCID-xf6d-4pas-7fbh","summary":"CSRF allows attacker to finalize/unfinalize order adjustments in solidus_backend\n### Impact\nCSRF 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.\n\nReproduction steps:\n- Take an order's number.\n- Log in as an administrator.\n- Visit that order's adjustments section (_Orders -> {Click on number} -> Adjustments_) and check that its adjustments are finalized (closed padlock under the **State** column).\n- On another tab, visit `{your_site_url}/admin/orders/{order_number}/adjustments/unfinalize`.\n- 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.\n- Visit `{your_site_url}/admin/orders/{order_number}/adjustments/finalize`.\n- Notice how the adjustments are again finalized.\n\nThat happened because both routes were handled as `GET` requests, which are skipped by Rails anti-forgery protection.\n\n### Patches\nUsers should upgrade to solidus_backend v3.1.6, v3.0.6, or v2.11.16, depending on the major and minor versions in use.\n\n### References\n- [Rails CSRF protection](https://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection.html).\n\n### For more information\nIf you have any questions or comments about this advisory:\n\n- Open an [issue](https://github.com/solidusio/solidus/issues) or a [discussion](https://github.com/solidusio/solidus/discussions) in Solidus.\n- Email us at [security@solidus.io](mailto:security@soliidus.io)\n- Contact the core team on [Slack](http://slack.solidus.io/)","references":[{"reference_url":"https://api.first.org/data/v1/epss?cve=CVE-2022-31000","reference_id":"","reference_type":"","scores":[{"value":"0.00169","scoring_system":"epss","scoring_elements":"0.37825","published_at":"2026-05-29T12:55:00Z"}],"url":"https://api.first.org/data/v1/epss?cve=CVE-2022-31000"},{"reference_url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/solidus_backend/CVE-2022-31000.yml","reference_id":"","reference_type":"","scores":[{"value":"2.3","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N"},{"value":"LOW","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/solidus_backend/CVE-2022-31000.yml"},{"reference_url":"https://github.com/solidusio/solidus","reference_id":"","reference_type":"","scores":[{"value":"2.3","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N"},{"value":"LOW","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/solidusio/solidus"},{"reference_url":"https://github.com/solidusio/solidus/commit/de796a2e0be7f154cae48b46e267501559d9716c","reference_id":"","reference_type":"","scores":[{"value":"2.3","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N"},{"value":"LOW","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:P/A:N/T:P/P:M/B:A/M:M/D:T/2025-04-22T15:46:02Z/"}],"url":"https://github.com/solidusio/solidus/commit/de796a2e0be7f154cae48b46e267501559d9716c"},{"reference_url":"https://github.com/solidusio/solidus/security/advisories/GHSA-8639-qx56-r428","reference_id":"","reference_type":"","scores":[{"value":"2.3","scoring_system":"cvssv3","scoring_elements":""},{"value":"2.3","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N"},{"value":"LOW","scoring_system":"cvssv3.1_qr","scoring_elements":""},{"value":"LOW","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:P/A:N/T:P/P:M/B:A/M:M/D:T/2025-04-22T15:46:02Z/"}],"url":"https://github.com/solidusio/solidus/security/advisories/GHSA-8639-qx56-r428"},{"reference_url":"https://nvd.nist.gov/vuln/detail/CVE-2022-31000","reference_id":"","reference_type":"","scores":[{"value":"2.3","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N"},{"value":"LOW","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-31000"},{"reference_url":"https://github.com/advisories/GHSA-8639-qx56-r428","reference_id":"GHSA-8639-qx56-r428","reference_type":"","scores":[{"value":"LOW","scoring_system":"cvssv3.1_qr","scoring_elements":""}],"url":"https://github.com/advisories/GHSA-8639-qx56-r428"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/89159?format=json","purl":"pkg:gem/solidus_backend@3.0.6","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:gem/solidus_backend@3.0.6"},{"url":"http://public2.vulnerablecode.io/api/packages/89160?format=json","purl":"pkg:gem/solidus_backend@3.1.6","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:gem/solidus_backend@3.1.6"}],"aliases":["CVE-2022-31000","GHSA-8639-qx56-r428"],"risk_score":null,"exploitability":null,"weighted_severity":null,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-xf6d-4pas-7fbh"}],"fixing_vulnerabilities":[],"risk_score":null,"resource_url":"http://public2.vulnerablecode.io/packages/pkg:gem/solidus_backend@3.0.4"}