Tandoor Recipes: ORM ORDER BY Injection via FK Traversal in Tandoor Recipes
Impact
Tandoor Recipes versions prior to 2.6.10 are vulnerable to ORM ORDER BY Injection via FK Traversal, allowing an authenticated user to infer sensitive database values. The issue occurs when unvalidated input is passed into Django ORM order_by() calls. This can leak values from related User fields, including password hashes and email addresses.
Summarized by @cf/meta/llama-3.3-70b-instruct-fp8-fast. Verify details against the original sources.Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
TandoorRecipes · GitHub_M
recipes
1 range
TandoorRecipes · GitHub_M
recipes
Compare with this publisher’s ranges. This does not inspect your installation.
affected
< 2.6.10
Other versions: unknown
Original source 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.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-59962View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Contributing organizations · 2
Assigning organization
Additional data publisher
What changed
Follow changesLarge field values are marked as truncated previews. Original source snapshots remain retained.