CVE-2026-22588 json
Spree API has Authenticated Insecure Direct Object Reference (IDOR) via Order Modification
published 2026-01-08 10 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-1421 , GHSA-g268-72p7-9j6j
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 35%
- public exploits
- 0
- none known
Summary
Spree is an open source e-commerce solution built with Ruby on Rails. Prior to versions 4.10.2, 5.0.7, 5.1.9, and 5.2.5, an Authenticated Insecure Direct Object Reference (IDOR) vulnerability was identified that allows an authenticated user to retrieve other users’ address information by modifying an existing order. By editing an order they legitimately own and manipulating address identifiers in the request, the backend server accepts and processes references to addresses belonging to other users, subsequently associating those addresses with the attacker’s order and returning them in the response. This issue has been patched in versions 4.10.2, 5.0.7, 5.1.9, and 5.2.5.
Patch / fix
- rubygems spree_api 4.10.2, 5.0.7, 5.1.9, 5.2.5
- spreecommerce spree 4.10.2, 5.0.7, 5.1.9, 5.2.5
- github.com/spree/spree@02acabd commit
- github.com/spree/spree@17e78a9 commit
- github.com/spree/spree@b409c0f commit
- github.com/spree/spree@d3f961c commit
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 10 mo ago
Exploit prediction
0.41% chance of exploitation in the next 30 days, higher than 35% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/spree/spree/security/advisories/GHSA-g268-72p7-9j6j referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | spree_api | >=3.7.0, <4.10.2 >=5.0.0, <5.0.7 >=5.1.0, <5.1.9 >=5.2.0, <5.2.5 |
4.10.2 5.0.7 5.1.9 5.2.5 |
Affected products
- spree spree
Classification
- Weakness
-
- CWE-639 Authorization Bypass Through User-Controlled Key
References
-
github.com
/spree/spree/commit/02acabdce2c5f14fd687335b068d901a957a7e72
web, patch
-
github.com
/spree/spree/commit/17e78a91b736b49dbea8d1bb1223c284383ee5f3
web, patch
-
github.com
/spree/spree/commit/b409c0fd327e7ce37f63238894670d07079eefe8
web, patch
-
github.com
/spree/spree/commit/d3f961c442e0015661535cbd6eb22475f76d2dc7
web, patch
-
github.com
/spree/spree/security/advisories/GHSA-g268-72p7-9j6j
web, exploit, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-22588
advisory
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/spree_api/CVE-2026-22588.yml
web
-
github.com
/spree/spree
package
Sources
- CVE List CVE-2026-22588
- GitHub Advisory GHSA-g268-72p7-9j6j
- NVD CVE-2026-22588
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.