Description
Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Prior to 2.6.10, passes unvalidated sort_order and order_field strings into Django ORM order_by() calls when an authenticated user supplies foreign-key traversal paths in recipe search, RecipeBook, or stored CustomFilter ordering values. Request processing uses _finalize_ordering and order_by through 8080/api/recipe/ and 8080/api/recipe-book/. The attack works because Django interprets double-underscore ordering fields as related-table traversal, and observable result ordering leaks values from related User fields. This can infer password hashes, email addresses, administrator status, and other related database values. This issue is fixed in version 2.6.10.
Published: 2026-10-16
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Immediate Patch
AI Analysis

Impact

An attacker can influence the ordering logic of the Tandoor Recipes application by sending unsanitized sorting parameters built from foreign‑key traversal paths. When the application passes these values directly to Django’s ORM order_by, the framework interprets double underscores as navigation of related tables. Because the user‑supplied strings are unchecked, the resulting query can expose sensitive columns from the User table, such as password hashes, email addresses, and administrative flags.

Affected Systems

Affected deployments run Tandoor Recipes version 2.6.9 or earlier on the API endpoints 8080/api/recipe/ and 8080/api/recipe‑book/. The vulnerability exists in the core application code that processes recipe search, RecipeBook views, and custom filter ordering. Any instance that accepts authenticated user requests to these paths is vulnerable until the code is updated to version 2.6.10 or later, where the ordering parameters are sanitized.

Risk and Exploitability

The CVSS score of 6.5 classifies the weakness as a Medium severity information‑disclosure flaw. No EPSS value is published, so the current likelihood of exploitation is unknown, and the vulnerability is not listed in CISA’s KEV catalog. The attack requires an authenticated user and relies on the application’s API. If an attacker can supply a crafted order_field value that traverses foreign keys, the query will leak database values. The lack of authentication bypass or privilege escalation limits the impact to information disclosure for the victim’s own account and other users referenced by the traversal. Immediate patching is therefore strongly recommended.

Generated by OpenCVE AI on October 16, 2026 at 19:39 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Tandoor Recipes to version 2.6.10 or later.
  • If an upgrade is not immediately possible, restrict ordering parameters to a whitelist of allowed fields and reject any values containing double underscores.
  • Disable or remove foreign‑key traversal in CustomFilter ordering logic until a secure implementation is available.

Generated by OpenCVE AI on October 16, 2026 at 19:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 29 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sat, 17 Oct 2026 18:15:00 +0000

Type Values Removed Values Added
First Time appeared Tandoorrecipes
Tandoorrecipes recipes
Vendors & Products Tandoorrecipes
Tandoorrecipes recipes

Fri, 16 Oct 2026 17:00:00 +0000

Type Values Removed Values Added
Description Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Prior to 2.6.10, passes unvalidated sort_order and order_field strings into Django ORM order_by() calls when an authenticated user supplies foreign-key traversal paths in recipe search, RecipeBook, or stored CustomFilter ordering values. Request processing uses _finalize_ordering and order_by through 8080/api/recipe/ and 8080/api/recipe-book/. The attack works because Django interprets double-underscore ordering fields as related-table traversal, and observable result ordering leaks values from related User fields. This can infer password hashes, email addresses, administrator status, and other related database values. This issue is fixed in version 2.6.10.
Title Tandoor Recipes: ORM ORDER BY Injection via FK Traversal in Tandoor Recipes
Weaknesses CWE-943
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

Tandoorrecipes Recipes
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-28T18:03:14.314Z

Reserved: 2026-07-07T18:49:15.608Z

Link: CVE-2026-59962

cve-icon Vulnrichment

Updated: 2026-10-28T18:02:49.580Z

cve-icon NVD

Status : Deferred

Published: 2026-10-16T17:17:35.343

Modified: 2026-10-28T19:17:36.833

Link: CVE-2026-59962

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-17T18:00:10Z

Weaknesses
  • CWE-943

    Improper Neutralization of Special Elements in Data Query Logic