CVE-2026-59962
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 27 - wyżej niż 27% wszystkich znanych CVE
Streszczenie
W Tandoor Recipes przed wersją 2.6.10 niezwalidowane ciągi sort_order i order_field są przekazywane do wywołań Django ORM order_by(), gdy uwierzytelniony użytkownik poda ścieżki przechodzenia przez klucze obce w wyszukiwaniu przepisów, RecipeBook lub zapisanych wartościach CustomFilter. Django interpretuje pola z podwójnym podkreśleniem jako przechodzenie do powiązanych tabel, a kolejność wyników ujawnia wartości z powiązanych pól User.
Ocena ryzyka
Atakujący może wywnioskować hashe haseł, adresy e-mail, status administratora i inne wartości z bazy danych powiązane z użytkownikami.
Rekomendacja
Należy zaktualizować Tandoor Recipes do wersji 2.6.10, w której problem został naprawiony.
Inne podatności w Tandoor Recipes
Zobacz wszystkie- CVE-2026-23838Wysokie
Tandoor Recipes to menedżer przepisów, który może być instalowany przez menedżer pakietów Nix. Od wersji 23.05 do 26.05, przy domyślnej konfiguracji (SQLite i domyślny MEDIA_ROOT), plik bazy danych db.sqlite3 jest tworzony w tym samym katalogu co MEDIA_ROOT, przez co może być dostępny zewnętrznie, potencjalnie przez Internet, bez uwierzytelnienia.
- CVE-2026-112342Wysokie
Tandoor Recipes przed wersją 2.7.0 zawiera wadliwy projekt klucza pamięci podręcznej w pliku cookbook/helper/permission_helper.py, który pozwala uwierzytelnionym użytkownikom zachować nieaktualne uprawnienia grupowe w różnych przestrzeniach. Klucz pamięci podręcznej opiera się tylko na identyfikatorze użytkownika, pomijając aktywną przestrzeń, a wpis jest odświeżany przy każdym żądaniu. Atakujący może utworzyć własną przestrzeń, uzyskać uprawnienia administratora, a następnie przełączyć się na przestrzeń ofiary, gdzie nieaktualna decyzja o uprawnieniach administratora pozwala na podniesienie uprawnień i obejście odebrania uprawnień.
- CVE-2026-115810Wysokie
Tandoor Recipes przed wersją 2.7.0 zawiera podatność Server-Side Request Forgery (SSRF) w importerze Pestle. Uwierzytelnieni użytkownicy z niskimi uprawnieniami mogą wymusić na serwerze żądania GET do dowolnych hostów wewnętrznych lub zewnętrznych poprzez spreparowany URL obrazu w pliku importu JSON Pestle.
- CVE-2026-61726Wysokie
Tandoor Recipes w wersjach przed 2.6.12 pozwala uwierzytelnionemu użytkownikowi z uprawnieniami odczytu i zapisu w przestrzeni ofiary na dostęp i modyfikację prywatnych kroków przepisu innego członka tej samej przestrzeni. Luka wynika z faktu, że StepViewSet i IngredientViewSet filtrują tylko po aktywnej przestrzeni i używają kontroli ról zamiast predykatu właściciela lub udostępniania prywatnego przepisu.
- CVE-2026-59970Wysokie
Tandoor Recipes w wersjach przed 2.6.10 przekazuje kontrolowany przez administratora adres URL dostawcy AI bezpośrednio do LiteLLM bez stosowania kontroli SSRF dla wychodzących żądań. Uwierzytelniony użytkownik może utworzyć przestrzeń, skonfigurować dostawcę AI z adresem URL wskazującym na adres wewnętrzny i wywołać akcję AI, co pozwala na skanowanie wewnętrznych hostów i portów.
- CVE-2026-59966Średnie
Tandoor Recipes przed wersją 2.6.10 wykonuje wzorce wyrażeń regularnych Automation kontrolowane przez użytkownika za pomocą Python re.sub() bez walidacji złożoności ani limitu czasu wykonania. Gdy uwierzytelniony użytkownik zapisze wzorzec powodujący katastrofalny backtracking, a inny użytkownik w tej samej Space zaimportuje pasujący przepis, silnik automatyzacji może zająć proces roboczy Gunicorn aż do przekroczenia limitu czasu żądania, wyczerpując wolne miejsca i czyniąc usługę niedostępną.
- CVE-2026-59963Wysokie
Tandoor Recipes w wersjach przed 2.6.10 pozwala uwierzytelnionemu członkowi współdzielonej przestrzeni na dostęp do prywatnych przepisów innego członka poprzez podanie identyfikatora prywatnego przepisu do endpointów AI import, plików, linków zewnętrznych lub linków udostępniania. Luka wynika z braku autoryzacji na poziomie obiektu, co może prowadzić do odczytu prywatnych plików przepisów, wysyłania ich do dostawcy AI lub tworzenia publicznych linków.
- CVE-2026-59967Średnie
W Tandoor Recipes przed wersją 2.6.10 aplikacja wyszukuje BookmarkletImport po sekwencyjnym kluczu głównym w aktywnym Space bez ograniczania created_by do użytkownika wysyłającego żądanie, gdy uwierzytelniony członek współdzielonego Space prześle identyfikator oczekującego importu innego członka do POST /api/recipe-from-source/. Endpoint zwraca zapisany URL ofiary i przechwyconą zawartość strony, a następnie bezwarunkowo usuwa oczekujący import ofiary.
- CVE-2026-27460Średnie
Tandoor Recipes to aplikacja do zarządzania przepisami, planowania posiłków i tworzenia list zakupów. Przed wersją 2.6.5 w funkcji importu przepisów występowała krytyczna podatność typu Denial of Service (DoS), pozwalająca uwierzytelnionemu użytkownikowi na zawieszenie serwera lub znaczne obniżenie jego wydajności poprzez przesłanie dużego pliku ZIP (ZIP Bomb); problem naprawiono w wersji 2.6.5.
- CVE-2026-35046Średnie
W aplikacji Tandoor Recipes w wersjach przed 2.6.4 uwierzytelnieni użytkownicy mogą wstrzykiwać dowolne znaczniki <style> do instrukcji kroków przepisu. Sanitizer bleach.clean() jawnie zezwala na znacznik <style>, co powoduje, że backend przechowuje i udostępnia przez API nieoczyszczone ładunki CSS. Klienci, którzy pobierają instructions_markdown z API i renderują je jako HTML bez dodatkowej sanityzacji, wykonają CSS kontrolowany przez atakującego, co umożliwia m.in. UI redressing, nakładki phishingowe, wizualne zniekształcenie i eksfiltrację danych za pomocą CSS.
Oryginalny opis (angielski, źródło NVD)
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

