Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as shared-Space member
-
DeliveryObtain another member's private recipe ID
-
ExploitSubmit ID to ai-import/get_recipe_file/share-link endpoint
-
ExecutionEndpoint skips owner/sharing permission check
-
ImpactExfiltrate private recipe files or mint public link
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires an authenticated account that is a member of a shared Space (Space sharing must be enabled), plus knowledge or enumeration of another member's private recipe object identifier - this is the concrete prerequisite stated in the description ('authenticated member of a shared Space supplies another member's private recipe identifier'). The affected flows are the api/ai-import/, api/get_recipe_file/, api/get_external_file_link/, and api/share-link/ endpoints, which fail to invoke the private-recipe owner/sharing (CustomRecipePermission) check. Limiting factors: the attacker must already be inside the same Space (no external/unauthenticated path), the targeted recipe must exist in that shared Space, and public-link disclosure via api/share-link/ specifically depends on Space sharing being enabled; single-user or non-shared deployments are not exposed. |
| Impact | This is a legitimate but moderate-priority issue, not a top-tier emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N, base 7.1) is internally consistent with the description: exploitation is network-reachable but requires PR:L - an authenticated member of a shared Space - which materially limits the attacker population to insiders who already belong to the same tenant. CWE-639 (authorization bypass through user-controlled key / IDOR) matches the root cause: recipe utility endpoints resolve same-Space Recipe objects by identifier without enforcing the private-recipe owner/sharing permission. No EPSS score, KEV listing, or public POC was provided in the input; per the data, there is no public exploit identified at time of analysis, so there is no evidence of active or widespread exploitation. The confidentiality impact (C:H) is the dominant signal - private recipe files and uploaded content can be disclosed to another same-Space user and, notably, exfiltrated to the configured external AI provider - while integrity is limited (I:L, via creation of external/public share links) and availability is unaffected (A:N). Net: a real data-confidentiality bug worth patching promptly in multi-tenant/shared-Space deployments, but the required authenticated same-Space foothold and the niche, self-hosted nature of the product keep real-world mass-exploitation risk low. |
| Exploit ScenarioDerived | An authenticated user who is a member of a shared Tandoor Space enumerates or guesses another member's private recipe ID and submits it to the AI-import, get_recipe_file, external-file-link, or share-link endpoints. Because object-level authorization is missing, the server returns the private recipe's file bytes, transmits them to the configured external AI provider, or mints a disclosable/public external link - exposing another member's private content. No public exploit code is identified at time of analysis, but the attack is low-complexity and needs no user interaction once the attacker holds a valid shared-Space account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
An authenticated member of a shared Space in Tandoor Recipes prior to 2.6.10 can reach another member's private recipes - including reading private recipe files, sending those file bytes to the configured AI provider, and generating external or public share links - by supplying the victim's recipe identifier to the api/ai-import/, api/get_recipe_file/, api/get_external_file_link/, or api/share-link/ endpoints, because those flows retrieve Recipe objects without invoking the private-recipe owner/sharing check (CustomRecipePermission). The prerequisite is an account already inside the same shared Space (Space sharing must be enabled) plus knowledge or enumeration of the target recipe ID, so single-user or non-shared deployments are not exposed; scoring is CVSS 7.1 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N) with confidentiality as the dominant impact and no public exploit identified at time of analysis. The issue is fixed in 2.6.10.
RemediationAI
Vendor-released patch: upgrade to Tandoor Recipes 2.6.10, which adds the missing object-level authorization (CustomIsUser plus CustomRecipePermission) to the api/ai-import/, api/get_recipe_file/, api/get_external_file_link/, and api/share-link/ flows; see the release at https://github.com/TandoorRecipes/recipes/releases/tag/2.6.10 and the advisory at https://github.com/TandoorRecipes/recipes/security/advisories/GHSA-cqj3-64qw-4w52, with the code-level fix in commits 82fd4e00f1387a1c466489989f2e94487149f7f4 and 8b4a4c06902d024609d7376b6c45f5ea4f9bed07. If immediate upgrade is not possible, the most effective compensating control is to remove untrusted or non-owner accounts from any shared Space (or temporarily disable Space sharing and operate Spaces as single-member until patched) - this closes every affected route because the attacker must already be a same-Space member, but it breaks legitimate collaborative meal-planning workflows. Organisations using the AI import integration should also clear or disable the configured AI provider credentials/media upload path while unpatched, since file bytes are transmitted to that external service during exploitation; the trade-off is loss of AI-assisted recipe import. Additionally, review recipe audit logs for unexpected api/get_recipe_file/, api/get_external_file_link/, and api/share-link/ calls referencing recipe IDs the caller does not own, revoke any externally created share links, and rotate any secrets that may have been embedded in files uploaded to recipes that were exposed. Note that recipe identifiers are sequential and enumerable, so limiting ID guessing is not a reliable substitute for the patch.
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 classic CWE-639 authorization bypass through a user-controlled key (IDOR) in the Django REST Framework API layer of Tandoor Recipes (CPE cpe:2.3:a:tandoorrecipes:recipes:*:*:*:*:*:*:*:*, all versions before 2.6.10). Tandoor's permission model combines Space-level membership with per-object rules: CustomRecipePermission is the object-level guard that enforces private-recipe ownership and explicit sharing, while CustomTokenHasReadWriteScope gates token scope and CustomIsUser enforces that the requester is a recognized user. The affected utility views (api/ai-import/, api/get_recipe_file/, api/get_external_file_link/, api/share-link/) looked up Recipe objects using the caller-supplied identifier but did not compose CustomRecipePermission (or the equivalent owner/share check) into the permission chain, so the object-level rule was never evaluated for those code paths. The upstream fix in commit 82fd4e00f1387a1c466489989f2e94487149f7f4 adds CustomIsUser to the permission_classes of the affected provider view and adjusts the share-permission test suite to use an explicitly private recipe created by one Space member and shared with another, asserting 403 before sharing and 200 after - confirming the intended private-object enforcement. Adjacent changes in the same commit (allowed ordering fields in recipe search and RecipeBookViewSet) are unrelated hardening, not the core flaw. The result of the missing object-level check is that a same-Space attacker can read stored recipe file bytes locally, exfiltrate them to whatever external AI provider is configured, or mint external/public links (the public-link case applies specifically when Space sharing is enabled), producing the high confidentiality impact and low integrity impact reflected in the assessed vector.
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:L/A:N
Network-reachable API with low complexity, but exploitation needs an authenticated shared-Space member (PR:L); impact is high confidentiality (private file disclosure) with low integrity from link creation and no availability effect.
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.10, recipe utility endpoints retrieve same-Space Recipe objects without invoking the private-recipe owner or sharing permission when an authenticated member of a shared Space supplies another member's private recipe identifier to AI import, file, external-link, or share-link endpoints. Request processing uses api/ai-import/, api/get_recipe_file/, api/get_external_file_link/, api/share-link/, CustomRecipePermission. The attack works because the endpoints read private recipe files, send file bytes to the configured AI provider, or create and disclose external links without object-level authorization, and api/share-link/ can create a public link when Space sharing is enabled. This can expose private recipe files and sensitive uploaded content to another same-Space user and to configured external services. This issue is fixed in version 2.6.10.
Technical POC Analysis
CWE-639 (Authorization Bypass Through User-Controlled Key), an IDOR inside a Tandoor Space.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Tandoor Recipes deployments older than 2.6.10 that use shared Spaces expose the private recipe collections of one member to any other authenticated member of that same Space, allowing unauthorized reading of private recipe files and generation of public share links. This is a cross-tenant confidentiality failure rather than a system compromise: the data at risk is user-owned content, and the exposure requires an existing shared-Space account plus a guessable or enumerated recipe identifier. Leadership should care because it undermines the trust model of the platform's sharing feature and could constitute unauthorized disclosure of sensitive personal or business recipes to parties who were never granted access.
Apply vendor patch.
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
Broken object-level authorization in Tandoor Recipes before 2.6.12 lets an authenticated member of the same Space, holdi
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
Authenticated blind server-side request forgery in Tandoor Recipes before 2.6.10 allows a user with privileges to create
EUVD-2026-103142
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB