CVE-2026-59967
MediumCVSS 5.4Summary
In Tandoor Recipes prior to 2.6.10, the application looks up BookmarkletImport by sequential primary key within the active Space without restricting created_by to the requesting user when an authenticated member of a shared Space submits another member's pending bookmarklet identifier to POST /api/recipe-from-source/. The endpoint returns the victim's stored URL and captured page content, then unconditionally deletes the victim's pending import.
Risk Assessment
An attacker can disclose authenticated or private captured page content belonging to another Space member and destroy that member's pending import.
Recommendation
Upgrade Tandoor Recipes to version 2.6.10, where this issue is fixed.
Other vulnerabilities in Tandoor Recipes
See all- CVE-2026-59962Medium
In Tandoor Recipes prior to 2.6.10, unvalidated sort_order and order_field strings are passed into Django ORM order_by() calls when an authenticated user supplies foreign-key traversal paths in recipe search, RecipeBook, or stored CustomFilter ordering values. Django interprets double-underscore ordering fields as related-table traversal, and observable result ordering leaks values from related User fields.
- CVE-2026-23838High
Tandoor Recipes is a recipe manager that can be installed with the Nix package manager. Starting in version 23.05 and prior to version 26.05, when using the default configuration (SQLite and default MEDIA_ROOT), the full database file may be externally accessible, potentially on the Internet, because the db.sqlite3 file is created in the same directory as MEDIA_ROOT.
Original NVD description (English source)
Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Prior to 2.6.10, looks up BookmarkletImport by sequential primary key within the active Space without restricting created_by to the requesting user when an authenticated member of a shared Space submits another member's pending bookmarklet identifier to POST /api/recipe-from-source/. Request processing uses api/recipe-from-source/, BookmarkletImport, filter, delete. The attack works because the endpoint parses and returns the victim's stored URL and captured page content, then unconditionally deletes the victim's pending import. This can disclose authenticated or private captured page content and destroy another Space member's pending import. This issue is fixed in version 2.6.10.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

