CVE-2026-23838
WysokieStreszczenie
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.
Ocena ryzyka
Ryzyko polega na nieautoryzowanym dostępie do całej bazy danych, co może ujawnić wrażliwe dane użytkowników, takie jak hasła, przepisy i inne informacje. Atakujący może pobrać plik bazy danych i wykorzystać go do dalszych ataków.
Rekomendacja
Zaleca się natychmiastową aktualizację do wersji 26.05 lub nowszej, która zmienia domyślną wartość MEDIA_ROOT na podkatalog katalogu danych. Dla starszych konfiguracji należy ręcznie zmienić MEDIA_ROOT, aby nie pokrywał się z katalogiem zawierającym bazę danych.
Inne podatności w Tandoor Recipes
Zobacz wszystkie- 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-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-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 a recipe manager than can be installed with the Nix package manager. Starting in version 23.05 and prior to version 26.05, when using the default configuration of Tandoor Recipes, specifically using SQLite and default `MEDIA_ROOT`, the full database file may be externally accessible, potentially on the Internet. The root cause is that the NixOS module configures the working directory of Tandoor Recipes, as well as the value of `MEDIA_ROOT`, to be `/var/lib/tandoor-recipes`. This causes Tandoor Recipes to create its `db.sqlite3` database file in the same directory as `MEDIA_ROOT` causing it to be accessible without authentication through HTTP like any other media file. This is the case when using `GUNICORN_MEDIA=1` or when using a web server like nginx to serve media files. NixOS 26.05 changes the default value of `MEDIA_ROOT` to a sub folder of the data directory. This only applies to configurations with `system.stateVersion` >= 26.05. For older configurations, one o
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

