Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to shared Space
-
DeliveryStore catastrophic-backtracking regex in Automation
-
ExploitVictim imports matching recipe
-
ExecutionRegex evaluation pins Gunicorn worker
-
ImpactWorker 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H
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.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.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
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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-103143
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB