Skip to main content

Tandoor Recipes CVE-2026-59963

| EUVDEUVD-2026-103142 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-16 GitHub_M
7.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as shared-Space member
  2. Delivery
    Obtain another member's private recipe ID
  3. Exploit
    Submit ID to ai-import/get_recipe_file/share-link endpoint
  4. Execution
    Endpoint skips owner/sharing permission check
  5. Impact
    Exfiltrate 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Recipes < 2.6.10

Affected Packages

euvd recipes fix: 2.6.10

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

Vendor (GitHub_M) PRIMARY 7.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
vuln.today AI 7.1 HIGH

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Oct 16, 2026 - 20:18 EUVD
CVE Published
Oct 16, 2026 - 19:17 cve.org
HIGH 7.1

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche self-hosted recipe manager, hobbyist/homelab footprint, no enterprise scale
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2025-23211 CRITICAL POC
9.9 Jan 28

Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Rated critical seve

CVE-2026-25991 HIGH POC
7.7 Feb 13

Tandoor Recipes prior to 2.5.1 contains a blind server-side request forgery vulnerability in the Cookmate recipe import

CVE-2025-57396 MEDIUM POC
6.5 Sep 19

Tandoor Recipes 2.0.0-alpha-1, fixed in 2.0.0-alpha-2, is vulnerable to privilege escalation. Rated medium severity (CVS

CVE-2024-0403 MEDIUM POC
6.5 Mar 01

Recipes version 1.5.10 allows arbitrary HTTP requests to be made through the server. Rated medium severity (CVSS 6.5), t

CVE-2022-23071 MEDIUM POC
6.5 Jun 19

In Recipes, versions 0.9.1 through 1.2.5 are vulnerable to Server Side Request Forgery (SSRF), in the “Import Recipe” fu

CVE-2026-33152 CRITICAL
9.1 Mar 26

Tandoor Recipes versions prior to 2.6.0 allow unlimited brute-force password guessing attacks against any known username

CVE-2026-25964 MEDIUM POC
4.9 Feb 13

Path traversal in Tandoor Recipes prior to 2.5.1 allows authenticated users with import permissions to read arbitrary fi

CVE-2026-61726 HIGH
8.1 Oct 16

Broken object-level authorization in Tandoor Recipes before 2.6.12 lets an authenticated member of the same Space, holdi

CVE-2026-35488 HIGH
8.1 Apr 07

Privilege escalation in Tandoor Recipes prior to version 2.6.4 allows authenticated users with read-only shared access t

CVE-2026-35045 HIGH
8.1 Apr 06

Authenticated users can modify and expose private recipes in Tandoor Recipes through broken object-level authorization i

CVE-2026-33149 HIGH
8.1 Mar 26

Tandoor Recipes versions through 2.5.3 permit Host header injection attacks that enable invite link poisoning, allowing

CVE-2026-59970 HIGH
7.7 Oct 16

Authenticated blind server-side request forgery in Tandoor Recipes before 2.6.10 allows a user with privileges to create

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy