CVE-2026-59970
WysokieCVSS 7.7Streszczenie
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.
Ocena ryzyka
Atakujący może uzyskać dostęp do wewnętrznych usług, innych hostów w sieci serwera i punktów końcowych metadanych chmury, mapując osiągalne hosty i porty. Może to prowadzić do dalszej eksploatacji i wycieku danych.
Rekomendacja
Zaktualizuj Tandoor Recipes do wersji 2.6.10 lub nowszej. Ogranicz możliwość konfiguracji dostawców AI przez użytkowników i stosuj kontrole SSRF.
Inne podatności w Tandoor Recipes
Zobacz wszystkie- 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-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-59962Średnie
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.
- 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.
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 an administrator-controlled AI provider URL directly to LiteLLM without applying the server's outbound-request SSRF checks when an authenticated user creates a Space, configures an AI provider with a URL targeting an internal address, and invokes an AI action. In cookbook/views/api.py, the affected AI actions call completion through TARGET/api/ai-import/ and api/ai-step-sort/ while bypassing safe_request. The attack works because the server connects to the supplied provider URL from each AI action and exposes connection success, refusal, or timeout as a blind network-reachability oracle. This can reach internal services, other hosts on the server network, and cloud metadata endpoints and map reachable internal hosts and ports. This issue is fixed in version 2.6.10.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

