CVE-2026-53503
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
Thumbor przed wersją 7.8.0 w filtrze filters:convolution(<matrix>, <columns>, <should_normalize>) przekazuje kontrolowaną przez użytkownika wartość <columns> do rozszerzenia C, gdzie jest używana jako dzielnik bez walidacji, że columns > 0. Gdy columns=0, kod C wywołuje niezdefiniowane zachowanie, na x86_64 prowadząc do śmiertelnego dzielenia przez zero (SIGFPE) i awarii procesu Thumbor, powodując zdalną odmowę usługi.
Ocena ryzyka
Atakujący może zdalnie spowodować awarię procesu Thumbor, prowadząc do niedostępności usługi.
Rekomendacja
Należy zaktualizować Thumbor do wersji 7.8.0 lub nowszej.
Inne podatności w Thumbor
Zobacz wszystkie- CVE-2026-53505Wysokie
Thumbor przed wersją 7.8.0 w filtrze filters:proportion(<value>) nie narzuca górnego ograniczenia na <value> i działa w fazie po transformacji. Atakujący może wywołać ekstremalnie duże zmiany rozmiaru (wyczerpanie CPU/pamięci) i spowodować odmowę usługi.
- CVE-2026-53504Wysokie
Thumbor przed wersją 7.8.0 w filtrze konwolucji używa wyrażenia regularnego, które wykonuje wykładnicze cofanie się na spreparowanych powtarzających się danych liczbowych, umożliwiając żądaniu URL wyczerpanie czasu przetwarzania.
- CVE-2026-53502Wysokie
Thumbor przed wersją 7.8.0 w file_loader dekoduje segmenty ścieżki zakodowane procentowo po walidacji granic korzenia, umożliwiając wyjście poza FILE_LOADER_ROOT_PATH przez dane wejściowe filtra watermark lub frame.
- CVE-2026-53501Wysokie
Thumbor przed wersją 7.8.0 w walidacji HMAC używa metody .replace() w Pythonie do usunięcia podpisu z URL przed walidacją. Ponieważ .replace() usuwa wszystkie wystąpienia podciągu, atakujący może wstawić ten sam podpis wielokrotnie w URL i manipulować końcowym URL używanym do walidacji, umożliwiając ładowanie obrazów z niezamierzonych domen lub ścieżek.
- CVE-2026-53500Wysokie
Thumbor przed wersją 7.8.0 w konfiguracji ALLOWED_SOURCES przekazuje zwykłe ciągi znaków do re.match() bez escapowania kropek, więc nazwa hosta różniąca się w pozycjach kropek może pasować do listy dozwolonych.
Oryginalny opis (angielski, źródło NVD)
Thumbor is an open-source photo thumbnail service by globo.com. Prior to 7.8.0, Thumbor's filters:convolution(<matrix>, <columns>, <should_normalize>) filter passes the user-controlled <columns> value to a C extension (thumbor/ext/filters/_convolution.c) where it is used as a divisor (for % and /) without validating columns > 0. When columns=0, the C code triggers undefined behavior; on x86_64 this reliably results in a fatal divide-by-zero trap (SIGFPE) and crashes the Thumbor process, causing a remote denial of service. This issue is fixed in 7.8.0.

