Expired token reuse in Spree
Priority MEDIUM 41CWE-287Published · Updated
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-287.
Summary
In Spree before versions 3.7.11, 4.0.4, or 4.1.11, expired user tokens could be used to access Storefront API v2 endpoints. The issue is patched in versions 3.7.11, 4.0.4 and 4.1.11. A workaround without upgrading is described in the linked advisory.
Why it matters now
EPSS 0.01064 64th percentileScored 2026-11-07
Fix Fixed spree (spree): 3.7.11, 4.0.4, 4.1.11spree (RubyGems): 3.7.11, 4.0.4, 4.1.11
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| spree | spree | before 3.7.11; 4.0.0 to before 4.0.4; 4.1.0 to before 4.1.11 | 3.7.11, 4.0.4, 4.1.11 | Patch available | CNA |
| — | spree (RubyGems) | before 3.7.11 | 3.7.11 | Patch available | GHSA-f8cm-364f-q9qh |
| — | spree (RubyGems) | 4.0.0 to before 4.0.4 | 4.0.4 | Patch available | GHSA-f8cm-364f-q9qh |
| — | spree (RubyGems) | 4.1.0 to before 4.1.11 | 4.1.11 | Patch available | GHSA-f8cm-364f-q9qh |
- spree Vendorspree Affected before 3.7.11; 4.0.0 to before 4.0.4; 4.1.0 to before 4.1.11 Fixed in 3.7.11, 4.0.4, 4.1.11 Patch available CNA
- spree (RubyGems) Vendor— Affected before 3.7.11 Fixed in 3.7.11 Patch available GHSA-f8cm-364f-q9qh
- spree (RubyGems) Vendor— Affected 4.0.0 to before 4.0.4 Fixed in 4.0.4 Patch available GHSA-f8cm-364f-q9qh
- spree (RubyGems) Vendor— Affected 4.1.0 to before 4.1.11 Fixed in 4.1.11 Patch available GHSA-f8cm-364f-q9qh
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:sparksolutions:spree:*:*:*:*:*:*:*:* | before 3.7.11; 4.0.0 to before 4.0.4; 4.1.0 to before 4.1.11 | Vulnerable | Sparksolutions |
- cpe:2.3:a:sparksolutions:spree:*:*:*:*:*:*:*:* Versions before 3.7.11; 4.0.0 to before 4.0.4; 4.1.0 to before 4.1.11 Vulnerable ·Sparksolutions
Remediation
- Fix · CNA spree (spree) Fixed in 3.7.11, 4.0.4, 4.1.11
- Fix · GHSA-f8cm-364f-q9qh spree (RubyGems) Fixed in 3.7.11 Advisory →
- Fix · GHSA-f8cm-364f-q9qh spree (RubyGems) Fixed in 4.0.4 Advisory →
- Fix · GHSA-f8cm-364f-q9qh spree (RubyGems) Fixed in 4.1.11 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2020-15269
- 2026-10-03 Alias added: GHSA-f8cm-364f-q9qh
References
Advisory 2
More spree vulnerabilities
- TI-2011-04629 Spreecommerce < 0.50.x API RCE CVSS 4.0CRITICAL 9.3
- TI-2026-18150 Spree API has Unauthenticated IDOR - Guest Address CVSS 3.1HIGH 7.5
- TI-2026-63441 Spree: Broken Access Control in `PATCH /api/v3/store/carts/:id/associate` (IDOR) CVSS 3.1HIGH 7.1
- TI-2026-18149 Spree API has Authenticated Insecure Direct Object Reference (IDOR) via Order Modification CVSS 3.1MEDIUM 6.5
- TI-2011-04622 Spreecommerce < 0.60.2 Search Parameter RCE CVSS 4.0CRITICAL 10.0
- TI-2026-20825 Spree allows unauthenticated users can access all guest addresses CVSS 4.0HIGH 7.7
Sources
- CVE-2020-15269 · CVE Program
- CVE-2020-15269 · NVD
- FIRST EPSS
- GHSA-f8cm-364f-q9qh · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences