news 2026/4/2 14:02:46

Spree API惊现未授权IDOR漏洞,可泄露访客地址信息

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spree API惊现未授权IDOR漏洞,可泄露访客地址信息

Spree API 存在未授权 IDOR 漏洞 - 访客地址信息泄露 (CVE-2026-22589)

漏洞详情

严重性等级: 高危

发布日期: 2026年1月8日
最后更新: 2026年1月11日

受影响的包:

  • bundler
  • spree_core (RubyGems)

受影响的版本:

  • = 4.0.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

描述

概述

发现了一个未认证的不安全直接对象引用 (IDOR) 漏洞,允许未经身份验证的攻击者在无需提供有效凭据或会话 Cookie 的情况下访问访客的地址信息。

详细信息

在测试过程中,发现所有访客用户都可以通过操纵对象标识符,发出未经身份验证的请求来检索属于其他访客用户的地址数据。攻击者需要知道店铺前端 URL 结构才能执行此攻击(该结构可以在创建注册用户账户后获知)。

受影响的组件:

  • 地址编辑端点:/addresses/{addressId}/edit

根本原因

CanCanCan Ability 类中的授权检查存在缺陷:

-can:manage,::Spree::Address,user_id:user.id+can:manage,::Spree::Address,user_id:user.idifuser.persisted?

在 Spree::Ability 类中,访客用户的user对象是一个Spree.user_class.new对象。

用于访问地址的端点是spree_storefrontgem 的一部分。使用 API 的无头构建不受影响,因为其中的地址端点仅适用于注册用户,并且记录范围限定为当前登录的用户。

漏洞复现步骤

前置条件:

  • 无需身份验证
  • 未设置 Cookie 或会话令牌

要复现此漏洞,只需执行如下所示的请求,将数字替换为任意值。初始请求使用访客地址 ID = 6 来获取信息。

请求示例 1:

GET /addresses/6/edit

重复请求并检查响应,本例中使用访客地址 ID = 2。

请求示例 2:

GET /addresses/2/edit

影响

未经身份验证的攻击者可以:

  • 枚举并检索访客地址信息(与用户账户关联的地址不受影响
  • 访问个人身份信息 (PII),例如:
    • 全名
    • 实际地址
    • 电话号码(如果存在)

此漏洞可能导致:

  • 隐私侵犯
  • 监管合规性问题(例如,GDPR)
  • 用户信任丧失

参考链接

  • GHSA-3ghg-3787-w2xr
  • spree/spree@16067de
  • spree/spree@4c2bd62
  • spree/spree@d051925
  • spree/spree@e1cff46
  • https://nvd.nist.gov/vuln/detail/CVE-2026-22589
  • https://github.com/rubysec/ruby-advisory-db/blob/master/gems/spree_core/CVE-2026-22589.yml

弱点分类

弱点标识: CWE-639

描述: 通过用户可控密钥绕过授权。
系统的授权功能未能防止用户通过修改标识数据的键值来访问另一用户的数据或记录。
glyoVzOLZA9nMhz/bDHDAWzfRfZ0dSZtQUalpUyOmxepdNYXwPMrWC1+fLMLB5xZ/jDqP18EFeTjJmQ/KRw7Yw==
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/29 15:16:46

多路温度采集(有完整资料)

资料查找方式&#xff1a; 特纳斯电子&#xff08;电子校园网&#xff09;&#xff1a;搜索下面编号即可 编号&#xff1a; CP-51-2021-018 设计简介&#xff1a; 本设计是基于单片机的多路温度采集系统&#xff0c;主要实现以下功能&#xff1a; 可通过LCD1602显示温度和状…

作者头像 李华
网站建设 2026/3/27 4:21:36

AI短剧制作小程序源码系统,全智能创作系统源码全览

温馨提示&#xff1a;文末有资源获取方式当AI技术能将短剧制作成本压缩至传统方式的10%以下&#xff0c;当几个人几天内就能无拍摄完成一部剧集&#xff0c;“AI短剧”已从概念走进现实&#xff0c;成为普通人内容创业的黄金赛道。面对广阔前景与激烈竞争&#xff0c;一套功能强…

作者头像 李华
网站建设 2026/3/30 20:50:01

JS防爬虫3板斧

一、核心概念 1.1 JS防爬虫的基本原理 JS防爬虫是指通过JavaScript代码实现的反爬虫措施&#xff0c;其核心思想是&#xff1a; 浏览器执行验证&#xff1a;向客户端返回一段JavaScript代码&#xff0c;只有真实浏览器才能执行动态参数生成&#xff1a;通过JS计算生成动态token…

作者头像 李华
网站建设 2026/3/23 0:19:19

低功耗不是口号:LPWAN智能井盖如何实现3年免维护?

在智慧城市基础设施监测场景中&#xff0c;井盖看似微不足道&#xff0c;却是典型的“部署易、运维难”节点。它分布广、环境恶劣、无外部供电&#xff0c;且要求长期稳定运行——这对物联网终端的低功耗设计提出了极高要求。近年来&#xff0c;基于LPWAN&#xff08;低功耗广域…

作者头像 李华
网站建设 2026/3/27 20:40:12

UVa 137 Polygons

题目描述 题目给出了两个凸多边形&#xff0c;这两个多边形可能重叠&#xff0c;也可能不重叠。如果它们重叠&#xff0c;重叠的程度和方式也会有所不同。要求编写一个程序&#xff0c;读取两个凸多边形的顶点坐标&#xff08;按顺时针顺序给出&#xff09;&#xff0c;并计算…

作者头像 李华