CVE-2026-57852
ŚrednieCVSS 5.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
Wtyczka scheduler-webhook w Grav CMS zawiera lukę umożliwiającą ominięcie uwierzytelniania. Niezalogowany atakujący może zdalnie uruchomić skonfigurowane zadania harmonogramu, wysyłając pojedyncze żądanie POST do endpointu webhooka.
Ocena ryzyka
Atakujący może wykonać dowolne polecenia zdefiniowane przez operatora, co może prowadzić do nieautoryzowanego dostępu do systemu lub uszkodzenia danych.
Rekomendacja
Zaktualizuj wtyczkę scheduler-webhook do najnowszej wersji lub zastosuj tymczasowe zabezpieczenia, takie jak ograniczenie dostępu do endpointu webhooka.
Inne podatności w Grav CMS
Zobacz wszystkie- CVE-2026-72827Wysokie
Grav CMS przed wersją 2.0.13 zawiera podatność na wstrzyknięcie szablonów po stronie serwera w parametrach akcji e-mail, która pozwala edytorom stron o niskich uprawnieniach na wykonywanie dowolnych poleceń systemu operacyjnego. Atakujący mogą wstrzyknąć ładunki Twig przy użyciu niezabezpieczonego filtra find w polach tematu, treści, do lub od wiadomości e-mail, aby osiągnąć zdalne wykonanie kodu podczas przesyłania formularzy.
- CVE-2026-72819Wysokie
Grav CMS przed wersją 2.0.13 zawiera podatność zdalnego wykonania kodu w walidacji ustawień wtyczki Flex Objects. Uwierzytelniony użytkownik może przesłać plik ZIP zawierający kod PHP, omijając walidację nazw za pomocą notacji tablicowej, i umieścić pliki PHP w katalogu głównym serwera, co prowadzi do ich wykonania.
- CVE-2026-69088Wysokie
W Grav CMS w wersjach 2.0.7 do 2.0.10 wykryto podatność polegającą na braku walidacji w pełni kwalifikowanych wywołań metod statycznych (Class::method) w dyrektywach dynamicznych blueprintów. Funkcja Blueprint::isSafeDynamicCall() stosuje listę blokowanych wywołań tylko do ciągów niezawierających '::'. Osoba z uprawnieniami edytora stron (admin.pages) może umieścić dyrektywę w frontmatterze strony, która wywołuje dowolną publiczną statyczną metodę PHP z kontrolowanymi argumentami. Możliwe jest odczytanie dowolnych plików i tworzenie/kopiowanie plików i katalogów.
- CVE-2026-56700Krytyczne
Grav CMS przed wersją 2.0.0-beta.2 zawiera wiele podatności umożliwiających wykonanie kodu. Trzy niebezpieczne wywołania unserialize() w komponentach Scheduler\JobQueue, Framework\Cache\Adapter\FileCache oraz Session deserializują niezaufane dane bez ograniczeń klas, co pozwala na wstrzyknięcie obiektów PHP i, poprzez łańcuch gadżetów, na zdalne wykonanie kodu. Dodatkowo, polecenie git clone w InstallCommand nie zabezpiecza parametrów branch, url i path, co umożliwia wstrzyknięcie poleceń systemowych podczas instalacji wtyczek/motywów (wymaga dostępu administratora). Występuje również obejście bloklisty Twig (wstrzyknięcie szablonów po stronie serwera).
- CVE-2023-34448Wysokie
Grav to system zarządzania treścią oparty na plikach. W wersjach przed 1.7.42 istniała podatność na wstrzykiwanie szablonów po stronie serwera, która umożliwiała zdalne wykonanie kodu poprzez nieblokowanie niektórych funkcji wbudowanych w rozszerzenie Twig.
- CVE-2023-34251Krytyczne
Grav to system zarządzania treścią oparty na plikach. Wersje przed 1.7.42 są podatne na wstrzykiwanie szablonów po stronie serwera, co umożliwia zdalne wykonanie kodu przez użytkownika z uprawnieniami do edycji stron.
- CVE-2026-72702Średnie
Grav CMS przed wersją 2.0.16 zawiera podatność na obejście walidacji pochodzenia w metodach Uri::referrer() i Pages::referrerRoute(), które sprawdzają nagłówek Referer za pomocą niezakotwiczonego dopasowania prefiksu (str_starts_with) bez ogranicznika końcowego. Atakujący kontrolujący domenę zaczynającą się od pochodzenia ofiary (np. https://example.com.attacker.tld) może wysłać żądanie z takim Refererem, które będzie traktowane jako pochodzące z tego samego pochodzenia, omijając kontrolę opartą na Refererze.
- CVE-2026-72701Niskie
Grav CMS przed wersją 2.0.16 ma podatność czasową w funkcji Utils::verifyNonce(), która używa porównania nie w stałym czasie (operator ===) zamiast hash_equals() do walidacji nonce CSRF. Atakujący mogą mierzyć różnice czasu odpowiedzi, aby odzyskać prawidłowe nonce bajt po bajcie.
- CVE-2026-72698Średnie
Grav CMS przed wersją 2.0.16 nie filtruje tablic konfiguracyjnych systemu, witryny i motywu w piaskownicy renderowania Twig, co pozwala edytorom treści na odczyt wrażliwych wartości konfiguracyjnych. Atakujący z uprawnieniami do edycji treści strony mogą uzyskać dostęp do surowych tablic konfiguracyjnych, w tym sekretów takich jak dane uwierzytelniające do pamięci podręcznej, używając notacji kropkowej w szablonach Twig, omijając ograniczenia config_denied_paths.
- CVE-2026-72697Średnie
Grav CMS przed wersją 2.0.16 zawiera podatność na przechodzenie poza katalog (path traversal) w funkcji Twig media_directory(), która nie waliduje ścieżek systemu plików, co pozwala uwierzytelnionym użytkownikom na enumerację i dostęp do plików poza zamierzonym zakresem. Atakujący z uprawnieniami do tworzenia stron mogą podać dowolne ścieżki systemu plików do media_directory() i użyć dozwolonego akcesora ścieżek na obiektach Medium do odczytu zawartości dowolnych plików pasujących do skonfigurowanych rozszerzeń mediów, do których proces serwera WWW ma dostęp.
Oryginalny opis (angielski, źródło NVD)
Grav CMS scheduler-webhook plugin contains an authentication bypass vulnerability that allows unauthenticated remote attackers to trigger configured scheduled jobs by exploiting a short-circuit logic flaw in the webhook token validation. Attackers can send a single unauthenticated POST request to the scheduler webhook endpoint to execute all configured scheduled jobs or target a specific job, causing unintended execution of operator-defined commands under the web server process user.

