关键漏洞信息 漏洞概要 类型: IDOR (Insecure Direct Object References) 严重性: High CVE ID: CVE-2026-25758 CWEs: CWE-284 (Improper Access Control), CWE-639 (Authorization Bypass Through User-Controlled Key) 影响范围 受影响版本 - spree_api (RubyGems): <4.10.3, <5.0.8, <5.1.10, <5.2.7, <5.3.2 已修复版本 - spree_api (RubyGems): 4.10.3, 5.0.8, 5.1.10, 5.2.7, 5.3.2 漏洞描述 该漏洞存在于 Spree Commerce 的访客结账流程中,允许任何访客用户通过操纵地址 ID 参数绑定任意访客地址到他们的订单,导致未经授权访问其他访客的个人可识别信息(PII),包括姓名、地址和电话号码。此漏洞绕过了现有的所有权验证检查,并影响所有访客结账交易。 漏洞原因 由于 Spree 的地址 ID 是顺序编号,攻击者可以通过简单枚举获取所有访客地址。 受影响的代码组件 1. Permitted Attributes 文件路径: - 允许 和 作为无需验证的允许参数。 2. Checkout Update 文件路径: - 将允许参数直接应用于 模型的 。 3. Incomplete Ownership Validation 文件路径: - 只验证嵌套属性结构,未验证 和 字段。 4. Vulnerable Assignment Logic 文件路径: - 和 的设置器未正确验证地址所有权。 概念验证(PoC) 前提条件: 在 Spree 数据库中存在一个访客地址。 攻击者可以将包含 curl 请求的脚本修改为当前值,访问受害者的地址,导致 PII 泄漏。 漏洞影响 可能导致访客用户(包括姓名、地址和电话号码)的 PII 泄漏。 披露政策 此报告受90天披露期限约束,详情参见 披露策略。