CVE-2026-77468
ŚrednieCVSS 6.9Streszczenie
Lychee to darmowe narzędzie open source do zarządzania zdjęciami. Przed wersją 7.7.0 endpoint GET /docs/api udostępnia niezalogowanym wywołującym dokumentację OpenAPI generowaną przez Scramble zgodnie z konfiguracją config/scramble.php, a obserwowany rozmiar i opóźnienie odpowiedzi sugerują, że schemat jest regenerowany bez cache na poziomie aplikacji. Zdalny atakujący może wielokrotnie odpytywać nieograniczony (bez throttlingu) endpoint, zużywając CPU serwera i uzyskując szczegółową mapę API oraz schematu parametrów.
Ocena ryzyka
Atakujący może bez uwierzytelnienia przeciążyć serwer powtarzalnymi żądaniami oraz pozyskać szczegółowe informacje o powierzchni API, co ułatwia dalsze ataki.
Rekomendacja
Zaktualizuj Lychee do wersji 7.7.0 lub nowszej, która naprawia tę podatność.
Inne podatności w Lychee
Zobacz wszystkie- CVE-2026-77470Wysokie
W Lychee w wersjach przed 7.7.1 przepływ POST /api/v2/Shop/Checkout/Process akceptuje nieograniczoną tablicę additional_data, która jest scalana po parametrach zakupu obliczonych przez serwer. Nieuwierzytelniony kupujący może zastąpić kwotę, walutę, returnUrl, cancelUrl lub transactionId przed przekazaniem do bramki Omnipay, co pozwala na niedopłatę i uzyskanie towarów.
- CVE-2026-77467Wysokie
W Lychee w wersjach przed 7.7.0 obsługa PDF przez ImageMagick z Ghostscript nie stosuje skutecznego limitu wymiarów stron PDF w ImagickHandler::loadPdf(). Uwierzytelniony użytkownik może przesłać mały plik PDF z nadmiernym /MediaBox, powodując zużycie znacznych zasobów CPU i zablokowanie kolejki przetwarzania obrazów.
- CVE-2026-77466Wysokie
W Lychee w wersjach przed 7.7.0 ukryty dostawca testowy Omnipay Dummy może być użyty przez kupującego (w tym gościa) poprzez bezpośrednie przesłanie go w żądaniu, ponieważ CreateSessionRequest nie wymusza OmnipayProviderType::isAllowed(). Umożliwia to zakończenie przepływu bramki testowej bez rzeczywistej płatności i zwolnienie przedmiotu zakupu, jeśli włączone jest automatyczne realizowanie.
- CVE-2026-62679Wysokie
W Lychee w wersjach przed 7.6.4 kontroler SecurePathController obsługujący GET /image/{path} łączy ścieżkę kontrolowaną przez atakującego z katalogiem głównym magazynu i wykonuje sprawdzenie prefiksu przed kanonikalizacją segmentów kropek. W określonej konfiguracji nieadministracyjnej każdy uwierzytelniony użytkownik może odczytać pliki spoza dozwolonego katalogu, w tym konfigurację aplikacji i prywatne obrazy innych użytkowników.
- CVE-2026-61838Wysokie
W Lychee w wersjach przed 7.6.3 punkt końcowy GET /api/v2/Zip autoryzuje archiwa albumów i zdjęć poprzez AlbumPolicy::canDownload() i PhotoPolicy::canDownload() bez uprzedniego wymuszenia AlbumPolicy::canAccess(). Dla publicznego, chronionego hasłem albumu z włączonym grants_download, nieuwierzytelniony atakujący znający identyfikator albumu może pobrać archiwum ZIP bez podania hasła.
- CVE-2026-61611Wysokie
W Lychee w wersjach przed 7.6.1 punkt końcowy POST /api/v2/Album::unlock nie ma ograniczeń liczby prób, licznika prób, opóźnienia, CAPTCHA ani blokady. Zdalny nieuwierzytelniony atakujący znający identyfikator albumu może zautomatyzować zgadywanie hasła do chronionego albumu i uzyskać dostęp do prywatnej kolekcji zdjęć.
- CVE-2026-61610Niskie
Lychee to narzędzie do zarządzania zdjęciami. Przed wersją 7.6.1, gdy photos_star_visibility ma wartość anonymous, endpoint POST /api/v2/Photo::highlight może pobrać i zmodyfikować zdjęcie bez potwierdzenia, że wywołujący może je zobaczyć. Nieuwierzytelniony atakujący mogący odgadnąć identyfikatory zdjęć może rozróżnić istniejące prywatne zdjęcia po różnych odpowiedziach oraz zmienić ich stan is_highlighted, w tym zdjęć w prywatnych lub chronionych hasłem albumach. Problem dotyczy instalacji z nie-domyślnym ustawieniem anonymous. Naprawiono w wersji 7.6.1.
- CVE-2026-57569Niskie
Lychee to narzędzie do zarządzania zdjęciami. Przed wersją 7.6.0 przepływ POST /api/v2/Photo::fromUrl waliduje nazwę hosta i rozwiązane adresy w app/Rules/PhotoUrlRule.php, ale następnie przekazuje oryginalną nazwę hosta przez app/Actions/Import/FromUrl.php do app/Image/Files/DownloadedFile.php w celu osobnego połączenia fopen. Uwierzytelniony atakujący kontrolujący odpowiedzi DNS może sprawić, że walidacja zobaczy publiczny adres, a kolejne pobranie rozwiąże tę samą nazwę na adres prywatny lub zabroniony. Ta niezgodność DNS rebinding typu time-of-check to time-of-use omija zabezpieczenia SSRF i może dotrzeć do usług dostępnych z serwera Lychee. Naprawiono w wersji 7.6.0.
- CVE-2026-57568Średnie
Lychee to darmowe narzędzie open source do zarządzania zdjęciami. Przed wersją 7.6.0 Lychee pozwala uwierzytelnionemu użytkownikowi z uprawnieniami edycji albumu zapisać URI javascript w opisie Markdown albumu lub zdjęcia, ponieważ config/markdown.php włącza allow_unsafe_links. Pliki PreformattedPhotoData.php i PreFormattedAlbumData.php konwertują opis do HTML, a komponenty galerii renderują ten HTML przez v-html, co pozwala odwiedzającemu klikającemu renderowany link na wykonanie kontrolowanego przez atakującego JavaScriptu w origin Lychee.
- CVE-2024-48908Średnie
Akcja lychee do sprawdzania linków w plikach Markdown, HTML i tekstowych przed wersją 2.0.2 zawiera potencjalną podatność na wstrzyknięcie dowolnego kodu w lychee-setup w pliku action.yml. Podatność została naprawiona w wersji 2.0.2.
Oryginalny opis (angielski, źródło NVD)
Lychee is a free, open-source photo-management tool. Prior to 7.7.0, GET /docs/api exposes the Scramble-generated OpenAPI documentation configured by config/scramble.php to unauthenticated callers after installation, with observed response size and latency suggesting that the schema is regenerated without an application-level cache. A remote attacker can repeatedly request the unthrottled route to consume server CPU and obtain a detailed map of the API surface and parameter schema. This issue is fixed in version 7.7.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

