Podatności Grav CMS
15 znanych podatności CVE w Grav CMS, przetłumaczonych i ocenionych.
- 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.
- CVE-2026-72696Wysokie
Grav CMS przed wersją 2.0.16 zawiera podatność na podążanie za dowiązaniami symbolicznymi w Scheduler Job::createLockFile(), która pozwala lokalnym atakującym na nadpisanie dowolnych plików poprzez wcześniejsze utworzenie dowiązań symbolicznych w przewidywalnych ścieżkach plików blokady w katalogu tymczasowym z prawem zapisu dla wszystkich. Atakujący mogą umieścić dowiązanie symboliczne w przewidywalnej ścieżce blokady wskazujące na dowolny plik, do którego proces serwera WWW może zapisywać, a następne uruchomienie zaplanowanego zadania podąży za dowiązaniem i nadpisze zawartość docelowego pliku ciągiem identyfikatora zadania.
- CVE-2026-69089Wysokie
W Grav CMS w wersji 2.0.10 wykryto podatność path traversal w metodzie ImageMedium::watermark(). Funkcja przekazuje niesanitowany argument $image do UniformResourceLocator::findResource(), który tylko leksykalnie usuwa segmenty '..' bez sprawdzania rzeczywistej ścieżki. Edytor z uprawnieniami do tworzenia treści może użyć składni Markdown z sekwencjami nawigacji, aby wkomponować dowolne pliki graficzne spoza sandboksa mediów do obrazu nośnego, który jest następnie serwowany publicznie.
- CVE-2026-57852Średnie
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.
- CVE-2026-7317Średnie
W Grav CMS do wersji 1.7.49.5/2.0.0-beta.1 znaleziono podatność w funkcji FileCache::doGet w komponencie Cache Value Handler, która prowadzi do deserializacji. Atak może być przeprowadzony zdalnie, ale wymaga wysokiego poziomu złożoności i jest trudny do wykorzystania. Exploit został opublikowany. Aktualizacja do wersji 2.0.0-beta.2 rozwiązuje problem.
- CVE-2023-34253Wysokie
Grav to system zarządzania treścią oparty na plikach. W wersjach przed 1.7.42 lista zakazanych funkcji była niewystarczająca, co umożliwiało atakującym z niskimi uprawnieniami wstrzykiwanie złośliwych szablonów i uzyskanie zdalnego wykonania kodu.

