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.
References6
- github.com/TandoorRecipes/recipes/commit/322696f618997e98f2d4c1…
- github.com/TandoorRecipes/recipes/commit/382a976cc79635edc30aef…
- github.com/TandoorRecipes/recipes/commit/82fd4e00f1387a1c466489…
- github.com/TandoorRecipes/recipes/releases/tag/2.6.10
- github.com/TandoorRecipes/recipes/security/advisories/GHSA-4x57…
- github.com/TandoorRecipes/recipes/security/advisories/GHSA-4x57…
Metrics
- CVSS 3.1
-
6.5
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - EPSS — exploit probability
- 0% percentile: 27 · as of 10 November 2026
- CWE
- CWE-943
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.