CVE-2026-35488Tandoor Recipes 在 2.6.4 版本前存在严重的权限绕过漏洞。该应用的 RecipeBookViewSet 和 RecipeBookEntryViewSet 使用了 CustomIsShared 权限类,但其 has_object_permission 方法对所有 HTTP 方法均返回 True。这导致仅具有只读共享权限的用户可以发送 DELETE、PUT 或 PATCH 请求,非法删除或覆盖食谱书数据,破坏了系统的完整性和可用性。
漏洞核心在于 Tandoor Recipes 后端权限控制逻辑的严重缺陷。在受影响的版本中,RecipeBookViewSet 和 RecipeBookEntryViewSet 使用了 CustomIsShared 作为权限类。该类的 has_object_permission 方法本应区分读取和修改操作,但在实际代码中,它未正确校验 request.method 是否属于 SAFE_METHODS(即 GET、HEAD、OPTIONS)。相反,该方法对所有请求方法直接返回 True,这意味着任何拥有共享链接或被加入共享列表的用户,不仅拥有读取权限,还隐式拥有了写入和删除权限。攻击者无需特殊权限,只需构造针对 API 端点的 HTTP DELETE 或 PUT 请求,即可通过权限验证,进而删除或覆盖食谱书数据,严重破坏了数据的完整性和可用性。