绕过青铜合作伙伴钱包限制以负余额接单
漏洞概述
安全研究人员@bugbountywithmarco发现Bykea平台存在业务逻辑缺陷,允许钱包余额为负的青铜级合作伙伴绕过平台限制接单。通过串联三个后端API端点,负余额司机可重置可用状态并成功提交报价,从而在违反钱包限制的情况下获得未授权行程访问权限。
技术细节
漏洞利用链
- 端点1: GET /v2/:city_id/bookings
- 端点2: PUT /api/v2/driver/update/location (使用任意trip_id参数)
- 端点3: POST /api/v2/offer/bid
攻击流程
攻击者通过按顺序调用这三个API端点,可以:
- 绕过钱包余额检查机制
- 重置司机可用状态
- 成功提交行程报价
- 最终实现以负余额状态接单
时间线
- 2024年11月27日 17:43 UTC - 漏洞报告提交
- 2024年11月27日 17:44 UTC - 严重等级设置为高危(8.6)
- 2024年11月27日 18:16 UTC - 严重等级调整为中危(6.5)
- 2024年11月28日 07:12 UTC - 发放漏洞赏金
- 2024年11月28日 07:19 UTC - 状态变更为已处理
- 2025年3月27日 04:53 UTC - 报告关闭,状态设为已解决
- 2025年6月13日 05:24 UTC - 报告公开披露
漏洞信息
- 报告ID: #2868164
- 严重等级: 中危(6.5)
- 漏洞类型: 业务逻辑错误
- CVE ID: 无
- 赏金状态: 已发放(隐藏金额)
影响评估
该漏洞允许青铜级合作伙伴在违反平台财务政策的情况下继续运营,可能造成平台收入损失和业务规则被绕过风险。