Skip to main content

Tandoor Recipes CVE-2026-59967

| EUVDEUVD-2026-102948 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-16 GitHub_M
5.4
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. Exploit
    Enumerate victim's sequential BookmarkletImport primary key
  3. Execution
    Submit ID to /api/recipe-from-source/ endpoint
  4. Impact
    Disclose captured page content and delete victim's pending import

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

The attacker must hold a valid authenticated account that is a member of the SAME shared Space as the victim (PR:L), and the victim must have a pending BookmarkletImport record in that Space. The specific trigger is submitting another member's BookmarkletImport primary key to POST /api/recipe-from-source/; because the pre-2.6.10 code filtered only by pk (and implicitly Space) without checking created_by, cross-member access succeeds. Limiting factors: exploitation is confined to co-tenants of a shared Space, requires authentication, and only affects versions prior to 2.6.10 - single-user or non-shared Space deployments are not exposed, and there is no user interaction or non-default configuration required beyond having multiple members in a Space.

Impact

This is a medium-severity authorization flaw (IDOR/BOLA, CWE-639) with a CVSS 3.1 score of 5.4 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L), and the real-world risk signals are consistent and modest. The CVSS vector requires low privileges (PR:L), meaning an authenticated account that is a member of the same shared Space is a hard prerequisite - this is not remote-unauthenticated. No EPSS score, KEV listing, or POC was provided in the intelligence, so exploitation status is 'no public exploit identified at time of analysis'; the absence of these signals, combined with the low-to-medium confidentiality and availability impact (C:L/A:L, no integrity impact), indicates this is a genuine but non-urgent authorization bug rather than a high-priority mass-exploitation threat. The attack is logically simple (sequential primary-key enumeration) and the patch is confirmed in the vendor commit, so the main residual risk is insider/cross-tenant abuse within multi-member Spaces rather than internet-wide attack. No conflicting signals were observed: the network attack vector is accurate because the endpoint is a web API, but it is gated by shared-Space membership, which the raw AV:N does not convey - treat the practical blast radius as limited to co-tenants.

Exploit ScenarioDerived

A legitimate user who shares a Tandoor Recipes Space with a victim guesses or increments the sequential BookmarkletImport primary key belonging to the victim and submits it to POST /api/recipe-from-source/. The endpoint returns the victim's stored URL and captured page content (disclosing potentially private/authenticated content) and then unconditionally deletes the victim's pending import. No public exploit code was identified, but the attack requires only a valid account in the same Space and trivial ID enumeration.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 insecure direct object reference (IDOR/BOLA) in Tandoor Recipes prior to 2.6.10 lets an authenticated member of a shared Space read and destroy another member's pending bookmarklet import. By submitting a co-tenant's BookmarkletImport primary key to POST /api/recipe-from-source/, the attacker causes the endpoint to return the victim's stored source URL and captured page content and then unconditionally delete that pending record, yielding limited confidentiality loss and a low-impact availability/denial effect against the victim's import workflow. Exploitation requires a valid account in the same shared Space as the victim (CVSS 3.1 5.4, PR:L, no user interaction), exposing only multi-member deployments; single-user or non-shared Spaces are not affected, and no public exploit code was identified at time of analysis.

RemediationAI

Upgrade to Tandoor Recipes 2.6.10 or later, which is the vendor-released patch: the fix commit 18e13a3493eb7cd7ce309009c5ed2faef5a86ef5 changes the BookmarkletImport lookup in cookbook/views/api.py to filter(pk=b_pk, space=request.space, created_by=request.user).first(), enforcing both Space and owner scoping on POST /api/recipe-from-source/. Confirm the upgrade against the release notes at https://github.com/TandoorRecipes/recipes/releases/tag/2.6.10 and the advisory at https://github.com/TandoorRecipes/recipes/security/advisories/GHSA-4vw7-c646-g23w. If immediate patching is not possible, compensating controls are limited and carry trade-offs: restrict membership of shared Spaces to fully trusted users, since the exploit requires an authenticated co-tenant (this reduces collaboration capability but removes the attack precondition), or temporarily block or rate-limit POST /api/recipe-from-source/ at the reverse proxy for accounts outside a trusted set (this breaks the bookmarklet import feature for legitimate users), or disable the bookmarklet import workflow entirely until the patch is applied (functional loss with no residual exposure via this endpoint). Pending imports should be treated as potentially disclosed and regenerated after patching, and audit logs for /api/recipe-from-source/ should be reviewed for unexpected primary-key enumeration by Space members.

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

Tandoor Recipes is a Django-based recipe manager, and the affected code lives in cookbook/views/api.py in the APIView that services POST /api/recipe-from-source/. That view handles a "bookmarklet" workflow: a user's browser bookmarklet captures a page URL and scraped content, which is persisted in the BookmarkletImport model so the server can later fetch or import the recipe from it. The root cause is CWE-639 (Authorization Bypass Through User-Controlled Key): the lookup was written as BookmarkletImport.objects.filter(pk=b_pk).first(), scoping the record only by the sequential primary key (and, implicitly, by Space in surrounding queryset logic) but never constraining created_by to request.user. Because primary keys are sequential and guessable, any authenticated co-member of the same Space could supply another member's import ID, have the view dereference and return that record's stored URL and captured page content, and then trigger the view's filter/delete logic, which removes the victim's pending import unconditionally. The fix in commit 18e13a3493eb7cd7ce309009c5ed2faef5a86ef5 hardens the queryset to filter(pk=b_pk, space=request.space, created_by=request.user).first(), adding the missing owner check and re-anchoring the object to the requester's active Space, which restores object-level authorization on the endpoint.

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 5.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L
vuln.today AI 5.4 MEDIUM

Web API reachable over network (AV:N/AC:L) but gated by an authenticated shared-Space account (PR:L); limited disclosure of captured content (C:L) and deletion of one pending import (A:L), no data modification (I:N).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:L/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
Low
Integrity
None
Availability
Low

Lifecycle Timeline

1
Patch available
Oct 16, 2026 - 18:03 EUVD

DescriptionCVE.org

Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Prior to 2.6.10, looks up BookmarkletImport by sequential primary key within the active Space without restricting created_by to the requesting user when an authenticated member of a shared Space submits another member's pending bookmarklet identifier to POST /api/recipe-from-source/. Request processing uses api/recipe-from-source/, BookmarkletImport, filter, delete. The attack works because the endpoint parses and returns the victim's stored URL and captured page content, then unconditionally deletes the victim's pending import. This can disclose authenticated or private captured page content and destroy another Space member's pending import. This issue is fixed in version 2.6.10.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
self-hosted hobby/open-source recipe manager, niche deployment footprint
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
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