Skip to main content

Tandoor Recipes CVE-2026-59966

| EUVDEUVD-2026-103143 MEDIUM
Inefficient Regular Expression Complexity (ReDoS) (CWE-1333)
2026-10-16 GitHub_M
5.7
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to shared Space
  2. Delivery
    Store catastrophic-backtracking regex in Automation
  3. Exploit
    Victim imports matching recipe
  4. Execution
    Regex evaluation pins Gunicorn worker
  5. Impact
    Worker slots exhausted, service unavailable

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Regex complexity limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated account that is a member of a shared Space and the ability to create an Automation rule (specifically a regex-replace or transpose rule whose pattern populates Automation.param_2). The denial of service only triggers when a second user in the same Space imports a recipe via the api/recipe-from-source/ endpoint whose source text matches the malicious pattern (processed through apply_regex_replace_automation and re.sub), so attacker-stored-plus-victim-import interaction is mandatory (UI:R). Limiting factors: valid authentication and shared-Space membership are prerequisites, so single-user or fully trusted deployments are not meaningfully exposed; impact is limited to temporary Gunicorn worker exhaustion bounded by the request timeout, with no data exposure or code execution. Affected versions are prior to 2.6.10.

Impact

This is a moderate-severity denial-of-service issue (ReDoS / CWE-1333), not a critical priority. The vendor CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H scores 5.7 and is internally consistent with the description: exploitation requires an authenticated user (PR:L) who shares a Space, the trigger depends on a second user importing a matching recipe (UI:R), and impact is confined to availability (A:H) with no confidentiality or integrity loss (C:N/I:N). No EPSS score was provided in the input, and the vulnerability is NOT listed in CISA KEV; no public proof-of-concept is referenced, so there is no public exploit identified at time of analysis. No SSVC decision data was supplied. The signals are mutually consistent and all point toward a low-urgency, insider/abuse-of-trust DoS rather than an internet-wide mass-exploitation threat: an attacker must already hold valid authenticated access to a shared Space, and the disruption is temporary worker exhaustion rather than code execution or data compromise. Prioritize patching for multi-tenant or shared-Space deployments; single-user or trusted-team instances carry materially lower real-world risk.

Exploit ScenarioDerived

An authenticated member of a shared Tandoor Space creates an Automation rule containing a catastrophic-backtracking regular expression (e.g., a nested-quantifier pattern) in its param_2 field. When any other user in that Space imports a recipe whose source text matches the pattern, the api/recipe-from-source/ endpoint evaluates the regex via Python re.sub() with no timeout, pinning a Gunicorn worker until the request timeout fires. Repeated imports exhaust all worker slots and render the service unavailable. No public exploit code is referenced in the provided data.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Tandoor Recipes deployments prior to 2.6.10 can be driven into denial of service by an authenticated user who stores a catastrophic-backtracking regular expression in a shared-Space Automation rule, which the server then evaluates with Python's re.sub() during another user's recipe import through the api/recipe-from-source/ endpoint. Because the pattern is executed without complexity validation or any execution timeout, a single crafted rule can monopolize a Gunicorn worker until the request timeout elapses, exhausting available worker slots and making the application unavailable to legitimate users. Exploitation requires a valid authenticated account that belongs to a shared Space plus a second user importing a matching recipe (CVSS 5.7, CWE-1333, AV:N/AC:L/PR:L/UI:R with availability-only impact), no public exploit code has been identified at time of analysis, and the vendor shipped a fix in 2.6.10.

RemediationAI

Upgrade to Tandoor Recipes 2.6.10 or later, which is the vendor-released patch for this issue; the fixing commit (https://github.com/TandoorRecipes/recipes/commit/adc2732712819d7fe26a9f74f6b0271c1a9d87c3) replaces the stdlib re calls in apply_regex_replace_automation and apply_transpose_automation with the regex module using a 0.05-second timeout, so the update must also pull in the new regex==2026.5.9 dependency listed in requirements.txt (deployments that pin or mirror requirements must add it or the patched code will fail at import). See the advisory at https://github.com/TandoorRecipes/recipes/security/advisories/GHSA-f2gw-c2c7-59v7 and release notes at https://github.com/TandoorRecipes/recipes/releases/tag/2.6.10. If immediate upgrade is not possible, restrict who can create or edit Automation rules and who can be a member of a shared Space to trusted users only, which removes the attacker prerequisite at the cost of disabling collaborative automation for untrusted accounts; alternatively rate-limit or disable the api/recipe-from-source/ import endpoint for non-administrators, accepting reduced recipe-import functionality, and tune Gunicorn worker counts/timeouts so a single stuck worker degrades service less severely (this only softens, not eliminates, the impact). Self-hosted operators who patch manually should verify regex version 2026.5.9 or later is installed and confirm the timeout constant is applied to both regex.match() and regex.sub() call sites, since missing either leaves a vulnerable path open.

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

This is a regular-expression denial-of-service (ReDoS) flaw in the class CWE-1333, rooted in the use of Python's standard-library re module for user-supplied Automation patterns. In cookbook/helper/automation_helper.py, functions such as apply_regex_replace_automation and apply_transpose_automation call re.match()/re.sub() directly on attacker-controllable automation fields (notably Automation.param_2, the replacement/regex parameter consumed by the regex-replace flow). The CPython re engine uses a backtracking matcher with no built-in time budget, so a pattern exhibiting catastrophic backtracking over a matching subject string consumes exponential CPU time relative to input size. The vulnerable path is reached when any user in the same Space imports a recipe via api/recipe-from-source/: the shared Automation engine applies the stored rule to the imported source text, and the pathological match is evaluated server-side inside a Gunicorn worker. The upstream fix switches these call sites from re to the third-party regex module and passes timeout=REGEX_TIMEOUT (0.05 seconds) to regex.match() and regex.sub(), with regex==2026.5.9 added to requirements.txt. No SQL injection, template injection, or code-execution primitive is involved; the security boundary crossed is purely computational resource consumption (availability).

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

Attacker must authenticate to a shared Space (PR:L) and a second user must import a matching recipe (UI:R); impact is availability-only worker exhaustion (A:H), no C/I impact.

3.1 AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:H/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
Required
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

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

DescriptionCVE.org

Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Prior to 2.6.10, executes user-controlled Automation regular-expression patterns with Python re.sub() without complexity validation or an execution timeout when an authenticated user stores a catastrophic-backtracking regex and any user in the same Space imports a matching recipe. Request processing uses Automation.param_2, apply_regex_replace_automation, sub, api/recipe-from-source/. The attack works because the shared-Space automation engine evaluates the malicious pattern during recipe import and can occupy a Gunicorn worker until its request timeout. This can exhaust application worker slots and make the service unavailable to users. This issue is fixed in version 2.6.10.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Low
self-hosted niche recipe manager, limited enterprise footprint
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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