漏洞概述 BOLA — Private Recipe Exposure and Unauthorized Modification (BOLA - 私有食谱泄露和未授权修改) 在 Tandoor Recipes v2.6.1 版本中, 端点存在 BOLA (Broken Object Level Authorization) 漏洞。该端点允许空间内的任何已认证用户修改该空间内的任何食谱,包括标记为私有的食谱。这绕过了基于标准单对象端点 ( ) 的对象级授权检查,导致私有食谱的未授权暴露和元数据篡改。 影响范围 受影响版本: Tandoor Recipes v2.6.1 修复版本: 无 (尚未修复) 具体影响: 1. 强制暴露私有食谱: 攻击者可以将 ,使私有食谱对所有空间成员可见。 2. 未授权自我授权访问: 攻击者可以通过 将自己的 ID 添加到共享列表中,获得对目标食谱的持久读写访问权限。 3. 元数据篡改: 攻击者可以修改 , , 等元数据。 4. 访问权限撤销: 攻击者可以通过 或 移除合法用户的访问权限。 修复方案 建议通过 过滤查询集,限制批量操作仅针对请求用户拥有的食谱。如果空间管理员需要批量更新任何食谱,需添加条件检查:如果是空间所有者则允许,否则仅允许更新自己拥有的食谱。 修复代码示例: POC 代码 利用代码 (curl): 验证代码 (Python):**