CVE-2026-35046
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 15 - wyżej niż 15% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący z kontem użytkownika może oszukiwać innych użytkowników poprzez spreparowane interfejsy, wyłudzać dane lub prowadzić działania phishingowe. Może to podważyć zaufanie do aplikacji i narazić użytkowników na utratę danych.
Rekomendacja
Zaktualizuj Tandoor Recipes do wersji 2.6.4 lub nowszej. Dodatkowo zaleca się sanityzację treści po stronie klienta przed renderowaniem HTML.
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-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.
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.4, Tandoor Recipes allows authenticated users to inject arbitrary <style> tags into recipe step instructions. The bleach.clean() sanitizer explicitly whitelists the <style> tag, causing the backend to persist and serve unsanitized CSS payloads via the API. Any client consuming instructions_markdown from the API and rendering it as HTML without additional sanitization will execute attacker-controlled CSS — enabling UI redressing, phishing overlays, visual defacement, and CSS-based data exfiltration. This vulnerability is fixed in 2.6.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

