CVE-2026-35045Tandoor Recipes是一款用于管理食谱、计划膳食和构建购物列表的应用程序。在2.6.4版本之前,该应用程序的PUT /api/recipe/batch_update/端点存在权限绕过漏洞。该漏洞允许同一Space内的任何经过身份验证的用户修改该Space中的任何食谱,即使这些食谱被其他用户标记为私有。这绕过了在标准单个食谱端点上强制执行的对象级授权检查,导致私有食谱被强制公开、未经授权的自我授权访问以及元数据篡改。该问题在2.6.4版本中得到修复。
该漏洞的根本原因在于Tandoor Recipes后端API逻辑的不一致性。在标准的单个食谱更新端点PUT /api/recipe/{id}/中,系统正确实施了对象级别的权限检查,确保只有食谱的所有者或具有特定权限的用户才能修改。然而,在批量更新端点PUT /api/recipe/batch_update/中,开发人员遗漏了这些关键的安全检查。攻击者只需拥有Space内的普通用户身份,即可构造恶意的HTTP PUT请求,指定目标食谱的ID(无论该食谱是否属于自己或是否为私有)。服务器接收到请求后,仅验证了用户是否属于该Space,而未验证用户是否拥有对这些特定食谱的修改权。这使得攻击者能够接管他人的私有食谱,修改其内容,将其添加到共享列表中,从而破坏了数据的机密性和完整性。