CVE-2026-25758 json
Spree allows unauthenticated users can access all guest addresses
published 2026-02-05 9 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-5563 , GHSA-87fh-rc96-6fr6
- cvss
- 7.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 52%
- public exploits
- 0
- none known
Summary
Spree is an open source e-commerce solution built with Ruby on Rails. A critical IDOR vulnerability exists in Spree Commerce's guest checkout flow that allows any guest user to bind arbitrary guest addresses to their order by manipulating address ID parameters. This enables unauthorized access to other guests' personally identifiable information (PII) including names, addresses and phone numbers. The vulnerability bypasses existing ownership validation checks and affects all guest checkout transactions. This vulnerability is fixed in 4.10.3, 5.0.8, 5.1.10, 5.2.7, and 5.3.2.
Patch / fix
- rubygems spree_api 4.10.3, 5.0.8, 5.1.10, 5.2.7, 5.3.2
- spreecommerce spree 4.10.3, 5.0.8, 5.1.10, 5.2.7, 5.3.2
- github.com/spree/spree@1561961 commit
- github.com/spree/spree@29282d1 commit
- github.com/spree/spree@6650f96 commit
- github.com/spree/spree@902d301 commit
- github.com/spree/spree@ff7cfcf commit
- github.com/spree/spree/blob/1341623f2ae92685cdbe232885bf5808fc8f9ca8/… patch
- github.com/spree/spree/blob/1341623f2ae92685cdbe232885bf5808fc8f9ca8/… patch
- github.com/spree/spree/blob/1341623f2ae92685cdbe232885bf5808fc8f9ca8/… patch
- github.com/spree/spree/blob/1341623f2ae92685cdbe232885bf5808fc8f9ca8/… patch
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 8 mo ago
Exploit prediction
0.67% chance of exploitation in the next 30 days, higher than 52% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/spree/spree/security/advisories/GHSA-87fh-rc96-6fr6 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 7.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P |
| CNA | 4.0 | 7.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | spree_api | <4.10.3 >=5.0.0, <5.0.8 >=5.1.0, <5.1.10 >=5.2.0, <5.2.7 >=5.3.0, <5.3.2 |
4.10.3 5.0.8 5.1.10 5.2.7 5.3.2 |
Affected products
- spree spree
Classification
References
-
github.com
/spree/spree/commit/15619618e43b367617ec8d2d4aafc5e54fa7b734
web, patch
-
github.com
/spree/spree/commit/29282d1565ba4f7bc2bbc47d550e2c0c6d0ae59f
web, patch
-
github.com
/spree/spree/commit/6650f96356faa0d16c05bcb516f1ffd5641741b8
web, patch
-
github.com
/spree/spree/commit/902d301ac83fd2047db1b9a3a99545162860f748
web, patch
-
github.com
/spree/spree/commit/ff7cfcfcfe0c40c60d03317e1d0ee361c6a6b054
web, patch
-
github.com
/spree/spree/blob/1341623f2ae92685cdbe232885bf5808fc8f9ca8/core/app/models/spree/order/address_book.rb#L16-L38
web, patch
-
github.com
/spree/spree/blob/1341623f2ae92685cdbe232885bf5808fc8f9ca8/core/app/models/spree/order/checkout.rb#L241-L254
web, patch
-
github.com
/spree/spree/blob/1341623f2ae92685cdbe232885bf5808fc8f9ca8/core/app/services/spree/checkout/update.rb#L33-L48
web, patch
-
github.com
/spree/spree/blob/1341623f2ae92685cdbe232885bf5808fc8f9ca8/core/lib/spree/permitted_attributes.rb#L92-L96
web, patch
-
github.com
/spree/spree/security/advisories/GHSA-87fh-rc96-6fr6
web, exploit, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-25758
advisory
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/spree_api/CVE-2026-25758.yml
web
-
github.com
/spree/spree
package
Sources
- CVE List CVE-2026-25758
- GitHub Advisory GHSA-87fh-rc96-6fr6
- NVD CVE-2026-25758
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.