Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as same-Space member
-
ExploitEnumerate private step/ingredient IDs
-
ExecutionGET api/step/{step_id}/ to read instructions
-
ImpactPATCH to silently modify victim recipe
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to be an authenticated user who is a member of the SAME Space as the victim and to hold both read and write API scope in that Space; the targeted recipe must be marked private (the flaw is that private-recipe owner/sharing checks are skipped in favor of CustomIsUser role checks and active-Space filtering). The attacker must also supply a valid private recipe step or ingredient identifier via the Step/Ingredient API (api/step/, api/step/{step_id}/). LIMITING FACTORS: cross-Space access is explicitly out of scope, so multi-tenant isolation between Spaces still holds; a single-user instance or one where private recipes are never shared into a common Space is not realistically exploitable; and the attacker needs legitimate write-scoped credentials in the victim's Space, making this an insider/co-tenant threat rather than remote-unauthenticated. Fixed in 2.6.12. |
| Impact | This is a genuine, moderately high-priority authorization flaw (CWE-284, broken object-level access control / IDOR) rather than a CVSS-inflated non-issue, but its real-world urgency is tempered by a significant precondition. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N, score 8.1) correctly signals a low-complexity network attack requiring low privileges and no user interaction, with high confidentiality and integrity impact and no availability impact - matching the description of silent read/modify of another user's private recipe data. The critical limiting signal is PR:L combined with the description's requirement that the attacker be an authenticated member of the VICTIM's Space holding read+write API scope; cross-Space access is explicitly out of scope, so this is an insider/same-tenant threat, not an anonymous internet attack. No EPSS score, KEV listing, or POC was provided in the input, so there is no evidence of active exploitation or published exploit code - the exploitation probability signals are simply absent rather than conflicting. Net: a real, easily-weaponized bug for anyone who can already join a shared Space, but the blast radius is confined to co-tenants of a multi-user Tandoor instance, which lowers aggregate real-world risk versus the raw 8.1. |
| Exploit ScenarioDerived | An authenticated user who belongs to a shared Tandoor Space (with read and write API scope) obtains or guesses the numeric step or ingredient ID of another member's recipe marked private. Because StepViewSet and IngredientViewSet authorize only on active-Space membership and role-level CustomIsUser rather than the private-recipe owner/sharing predicate, the attacker issues a GET to api/step/{step_id}/ to read the hidden instructions and a PATCH to silently alter them. No public exploit code was identified in the provided data; the attack requires only standard API calls and low complexity (AC:L). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Broken object-level authorization in Tandoor Recipes before 2.6.12 lets an authenticated member of the same Space, holding read and write API scope, read and silently alter another member's private recipe instructions and ingredients by supplying those private step or ingredient identifiers to the Step/Ingredient API. The affected sub-resource ViewSets (StepViewSet, IngredientViewSet) filter only on active Space and apply role-level CustomIsUser checks instead of the private-recipe owner/sharing predicate, so a co-tenant is accepted without recipe-level authorization. No public exploit code has been identified at time of analysis, and the flaw requires legitimate write-scoped credentials in the victim's Space; it is fixed in version 2.6.12.
RemediationAI
Vendor-released patch: upgrade to Tandoor Recipes 2.6.12, which reworks the StepViewSet and IngredientViewSet querysets and permission logic so that private-recipe owner/sharing checks are enforced (see https://github.com/TandoorRecipes/recipes/releases/tag/2.6.12 and the fix commit https://github.com/TandoorRecipes/recipes/commit/3c5678f663e62e6ddf3d7df0b2bcc89ce2f52def, with advisory https://github.com/TandoorRecipes/recipes/security/advisories/GHSA-wjf3-fq5w-7j7w). If immediate upgrade is not possible, apply compensating controls with clear trade-offs: reissue or revoke API tokens so that co-tenants in a shared Space no longer hold combined read-and-write API scope (this breaks legitimate integrations that rely on write access), and avoid marking recipes private while sharing the enclosing Space with untrusted or semi-trusted members - since the flaw depends on private recipes existing inside a common Space, isolating private content into a separate Space restores the boundary but complicates collaboration. Enabling request/access logging on api/step/ and the ingredient endpoints can surface anomalous identifier enumeration, but logging is detective rather than preventive. Because the issue is an object-level authorization gap rather than a single injectable input, no reverse-proxy or WAF rule reliably mitigates it, so upgrading to 2.6.12 remains the only complete fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability is a CWE-284 improper access control issue and a textbook Django REST Framework broken object-level authorization (BOLA/IDOR) pattern. Tandoor Recipes organizes data by Space, and recipes carry a private flag plus an explicit shared-users list; legitimate authorization therefore depends on both Space membership and the recipe-level owner/sharing predicate. In the vulnerable code, StepViewSet and IngredientViewSet - exposed through api/step/ and api/step/{step_id}/ - build their querysets using only active-Space filtering and gate access with the role-level CustomIsUser permission class, omitting the CustomRecipePermission predicate that enforces private-recipe ownership and sharing. Because sub-resource querysets (steps and their ingredients) are resolved by primary key through the recipe relationship, an attacker who knows or guesses a private recipe's step/ingredient identifier can bypass the recipe-level check entirely, resulting in both read (C:H) and update (I:H) of instructions and ingredient notes. The commit associated with the fix (3c5678f6) reworks these querysets and adds regression tests asserting that private-recipe steps and ingredients return 404/empty results for non-shared Space members while remaining accessible once the user is added to the recipe's shared list. Cross-Space access is explicitly out of scope, so the multi-tenant Space boundary itself is not broken.
Know when Recipes gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Remote API call (AV:N), no special conditions (AC:L), requires authenticated same-Space write scope so PR:L not PR:N; reads and silently modifies private recipe data (C:H/I:H) with no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Prior to 2.6.12, StepViewSet and IngredientViewSet filter only by active Space and use role-level CustomIsUser checks instead of the private-recipe owner or sharing predicate when an authenticated user with read and write API scope in the victim's Space supplies a private recipe or step identifier to the Step API. Request processing uses StepViewSet, IngredientViewSet, api/step/, api/step/{step_id}/, CustomIsUser, CustomRecipePermission. The attack works because the sub-resource querysets return and update private-recipe steps for non-owners because Space membership is accepted without recipe-level authorization. This can read and silently modify another same-Space member's private recipe instructions, while cross-Space access remains out of scope. This issue is fixed in version 2.6.12.
Technical POC Analysis
CWE-284 (Improper Access Control; the advisory also tags CWE-639 and CWE-863).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
An authorization flaw in Tandoor Recipes (CVE-2026-61726, CVSS 8.1) lets one member of a shared Space read and silently modify another member's private recipe instructions and ingredients, breaking the data isolation that multi-user deployments rely on. Any organization running an affected version with shared Spaces is exposed, and because the tampering leaves no obvious trace, customers and internal teams may never learn their private content was viewed or altered. No public exploit identified at time of analysis, but the weakness erodes platform trust and can surface as customer disputes, audit findings, or privacy obligations.
Apply vendor patch (2.6.12). Until deployment completes: restrict shared Space membership to trusted users, revoke or rotate write-scoped API tokens, and block non-owner Step/Ingredient API calls at the reverse proxy.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Rated critical seve
Tandoor Recipes prior to 2.5.1 contains a blind server-side request forgery vulnerability in the Cookmate recipe import
Tandoor Recipes 2.0.0-alpha-1, fixed in 2.0.0-alpha-2, is vulnerable to privilege escalation. Rated medium severity (CVS
Recipes version 1.5.10 allows arbitrary HTTP requests to be made through the server. Rated medium severity (CVSS 6.5), t
In Recipes, versions 0.9.1 through 1.2.5 are vulnerable to Server Side Request Forgery (SSRF), in the “Import Recipe” fu
Tandoor Recipes versions prior to 2.6.0 allow unlimited brute-force password guessing attacks against any known username
Path traversal in Tandoor Recipes prior to 2.5.1 allows authenticated users with import permissions to read arbitrary fi
Privilege escalation in Tandoor Recipes prior to version 2.6.4 allows authenticated users with read-only shared access t
Authenticated users can modify and expose private recipes in Tandoor Recipes through broken object-level authorization i
Tandoor Recipes versions through 2.5.3 permit Host header injection attacks that enable invite link poisoning, allowing
Tandoor Recipes application versions prior to 2.6.0 expose complete database schema and access control logic through an
Authenticated blind server-side request forgery in Tandoor Recipes before 2.6.10 allows a user with privileges to create
EUVD-2026-103144
NVD
CVE.org
GitHub
Exploit-DB