Security Resilience

CVE-2026-25758

Access Control in Spreecommerce Spree ≤ 4.10.3

Public PoCAccess Control
Published
06 February 2026
Modified
19 February 2026
Patch / advisory
CVSS Score v4 7.7
Click a component to see what it means
Raw vectorCVSS: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
EPSS Score 0.0076 55th percentile
Risk Priority 44 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-25758 is a high-severity Improper Access Control (CWE-284) vulnerability in Spreecommerce Spree. Its CVSS base score is 7.7 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 45% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-24 (Access Control Decisions) and AC-3 (Access Enforcement) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-25758 is a critical Insecure Direct Object Reference (IDOR) vulnerability, classified under CWE-284 (Improper Access Control) and CWE-639 (Authorization Bypass Through User-Controlled Key), affecting Spree Commerce, an open-source e-commerce platform built on Ruby on Rails. The flaw resides in the guest checkout flow, where attackers can manipulate address ID parameters to bind arbitrary guest addresses to their own order. This bypasses ownership validation checks, exposing other users' personally identifiable information (PII) such as names, addresses, and phone numbers. The issue impacts all guest checkout transactions and carries a CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N).

Any unauthenticated guest user can exploit this vulnerability remotely over the network with low complexity and no user interaction required. By altering address ID parameters during checkout, an attacker can associate another guest's address with their order, gaining unauthorized read access to sensitive PII from prior transactions. This enables broad data harvesting across affected deployments without privileges or special conditions.

Mitigation is available through patches in Spree versions 4.10.3, 5.0.8, 5.1.10, 5.2.7, and 5.3.2, as detailed in the fix commit at https://github.com/spree/spree/commit/15619618e43b367617ec8d2d4aafc5e54fa7b734. Relevant code changes address the validation logic in files like core/app/models/spree/order/address_book.rb, core/app/models/spree/order/checkout.rb, core/app/services/spree/checkout/update.rb, and core/lib/spree/permitted_attributes.rb. Security practitioners should upgrade immediately and review guest checkout configurations for parameter tampering risks.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1565 Data Manipulation Impact
Adversaries may insert, delete, or manipulate data in order to influence external outcomes or hide activity, thus threatening the integrity of the data.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-22589Same product: Spreecommerce Spree
CVE-2026-25757Same product: Spreecommerce Spree
CVE-2026-22588Same product: Spreecommerce Spree
CVE-2025-65097Shared CWE-284, CWE-639
CVE-2026-20897Shared CWE-284, CWE-639
CVE-2026-25877Shared CWE-284, CWE-639
CVE-2025-64706Shared CWE-284, CWE-639
CVE-2025-64516Shared CWE-284, CWE-639
CVE-2024-32045Shared CWE-284, CWE-639
CVE-2026-47399Shared CWE-284, CWE-639

Affected Assets

spreecommerce
spree
≤ 4.10.3 · 5.0.0 — 5.0.8 · 5.1.0 — 5.1.10

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Directly enforces approved authorizations for logical access, stopping unauthorized actors from reaching resources.

Requiring explicit access-control decisions on each request blocks unauthorized key-driven access.

Enforces flow-control policies that restrict information movement between subjects and objects.

Documents duties and assigns access so that no single account can bypass intended restrictions.

Limits each account to the minimum privileges needed, reducing the chance of unauthorized access.

Defines account types, assigns/removes access, and reviews accounts to ensure only authorized actors can reach resources.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-05 full match
blocks

Enforcing authorization policy and least privilege directly blocks user-controlled key tampering that bypasses access checks.

PR.IR-01 mostly match
blocks

Logical access controls prevent unauthorized data access that results from missing authorization checks on object references.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

removes

A.8.3 mandates that access to information be restricted based on user identity and permissions, directly addressing the missing authorization check that defines CWE-639; when applied, it removes the vulnerability by requiring that such checks be implemented.

blocks

A.5.15 directly mandates determining requirements, defining/implementing topic-specific access control policy+rules (with explicit references to 8.3, 5.16, 5.18), and enforcing authorized access while preventing unauthorized access, which squarely stops exploitation of most CWE-284 instances; the bounded remainder is the physical slice (explicitly delegated to 7.2-7.4) plus any second-order defects like path traversal that are not authorization decisions.

blocks

A.5.16's identity lifecycle (unique binding, timely disable/remove, no duplicates, oversight of shared/non-human) directly stops most improper access by ensuring the actor in an access decision is correctly identified and authorized; the bounded remainder is non-identity mechanisms in CWE-284 such as path traversal or CSRF that do not turn on actor identity at all.

blocks

A.5.18 directly governs the provisioning, review, adjustment and timely revocation of both physical and logical access rights per business rules, segregation of duties and risk-evaluated changes/terminations; this stops most unauthorized-actor exploitation paths named by CWE-284, with a bounded remainder (e.g. path-traversal or CSRF cases that are not authorization decisions at all)

blocks

A.6.7's policy, rules, mechanisms, authentication requirements, remote access controls, network restrictions, and device measures (e.g. screen locks, firewalls, malware protection) directly stop unauthorized actors from exploiting improper access control in remote settings; remainder is non-remote or physical-only slices of CWE-284 (as in AC-3's own mostly precedent).

blocks

A.8.1 mandates access controls, storage encryption, software restrictions, malware protection, remote lock/wipe, physical/logical device protections, and policy-driven enforcement that stop unauthorized actors from exploiting improper access control on endpoints; remainder is non-endpoint or non-device slices of CWE-284 (e.g. server-side authorization logic).

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-284, a pillar-level weakness. Rules are authored against its narrower children: CWE-749, CWE-1220.

References