Basecamp | 报告 #3329310 - 机器人身份验证不当允许在房间发送消息时模拟任何用户
时间线 ID-verified(已成功完成身份验证检查的黑客) stackered 向 Basecamp 提交了一份报告。
2025年9月6日,下午3:24 (UTC)
菜单 菜单
机器人被允许在房间内发送消息,但需要机器人密钥进行身份验证。 机器人密钥身份验证功能如下:
|
|
问题在于,如果 bot_key 没有右侧部分(例如:1-),bot_token 将为 nil,而查询将匹配一个 User 记录(如果 bot_id 匹配一个有效的用户ID)。
用户ID是递增的,正如在 Rails 控制台中可以看到的那样,因此很容易被猜测。它们在一些URL中也是可见的。
|
|
以下请求突显了此问题,因为它允许未经身份验证的用户模拟另一个用户(此处使用ID 2)并以该用户身份发布消息:
|
|
随附的图片显示,消息已成功发布,并且似乎来自 “test” 用户。
影响 未经身份验证的用户可以模拟任何用户,在该用户有权访问的房间中发送任意消息。
附件
1 个附件 F4756254: message_posted.png
jacopo-beschi 发表了一条评论。 2025年9月9日,下午4:08 (UTC)
菜单 菜单 感谢!我确认报告的有效性。 我很快会为您提供赏金。
jacopo-beschi 将严重性从 高 (8.7) 更新为 中 (6.5)。 2025年9月9日,下午4:18 (UTC)
jacopo-beschi 将严重性从 中 (6.5) 更新为 高 (7.5)。 2025年9月9日,下午4:23 (UTC)
jacopo-beschi 将严重性从 高 (7.5) 更新为 高。 2025年9月9日,下午4:23 (UTC)
jacopo-beschi 将严重性从 高 更新为 高 (7.5)。 2025年9月9日,下午4:24 (UTC)
jacopo-beschi 将严重性从 高 (7.5) 更新为 高。 2025年9月9日,下午4:26 (UTC)
jacopo-beschi 发表了一条评论。 2025年9月10日,上午7:18 (UTC)
菜单 菜单 快速更新一下:我们将取消 Campfire 的赏金计划,因为该项目现已开源,我们不再有相关资金。我正在与团队讨论如何处理现有的报告。 我会随时通知您。
Basecamp 奖励 stackered 2000 美元赏金。 2025年9月10日,上午8:43 (UTC)
jacopo-beschi 发表了一条评论。 2025年9月10日,上午8:44 (UTC)
菜单 菜单 您好,我刚刚为您提供了 2000 美元的赏金:我们决定为现有的 Campfire 报告提供赏金,但我们将不再为该资产提供赏金。 我们已在 1.1.8 版本中发布了修复程序。您能确认无法再复现该问题了吗? 谢谢。
jacopo-beschi 将状态更改为 已分类。 2025年9月10日,上午8:45 (UTC)
ID-verified(已成功完成身份验证检查的黑客) stackered 发表了一条评论。 更新于 2025年9月10日,上午11:22 (UTC)
菜单 菜单 您好,感谢您的赏金! 我无法访问您提供的用于验证的链接。我收到了一个 404 错误。
jacopo-beschi 发表了一条评论。 2025年9月11日,上午10:33 (UTC)
菜单 菜单 抱歉,我刚刚将修复程序推送到了开源仓库,您现在可以验证了吗? 谢谢。
ID-verified(已成功完成身份验证检查的黑客) stackered 发表了一条评论。 2025年9月11日,上午11:23 (UTC)
菜单 菜单 您好,我确认在应用补丁后无法复现该问题。
jacopo-beschi 发表了一条评论。 2025年9月11日,下午12:06 (UTC)
菜单 菜单 很好,谢谢!
jacopo-beschi 关闭了报告并将状态更改为 已解决。 2025年9月11日,下午12:06 (UTC)
stackered 请求公开此报告。 13 天前
jeremy Basecamp 员工 同意公开此报告。 13 天前 此报告已被公开。 13 天前
报告于 2025年9月6日,下午3:24 (UTC) 报告者 stackered 报告给 Basecamp
参与者 报告 ID #3329310 状态 已解决 严重性 高 (7 ~ 8.9) 公开日期 2025年11月21日,下午7:39 (UTC) 弱点 不正确的身份验证 - 通用 CVE ID 无 赏金 $2,000 账户详情 无