Podatności Grav
73 znanych podatności CVE w Grav, przetłumaczonych i ocenionych.
- CVE-2026-61453Średnie
Grav v2.0.0 zawiera podatność na atak XSS, naprawioną w wersji 2.0.1. Walidator blueprintów XSS (Security::detectXss()) sprawdza surową treść strony przed przetworzeniem przez Twig. Gdy przetwarzanie treści Twig jest włączone (twig_content.process_enabled: true), atakujący z uprawnieniami API do zapisu strony może użyć operatora konkatenacji ciągów Twig (~) do dynamicznego konstruowania nazw procedur obsługi zdarzeń, niebezpiecznych nazw tagów lub protokołów w czasie renderowania (np. {% set x = "on" ~ "error" %}). Walidator widzi tylko nieszkodliwe wyrażenie Twig i przepuszcza treść, ale po renderowaniu przez Twig (wyświetlane przez {{ page.content|raw }}) wynik zawiera aktywny ładunek, np. <img src=1 onerror=alert(1)>, wykonujący dowolny JavaScript w przeglądarkach odwiedzających.
- CVE-2026-61449Średnie
Grav 2.0.1 zawiera obejście limitu rozmiaru bomby dekompresyjnej w ZipArchiver i GPM\Installer. Atakujący może dostarczyć spreparowane archiwum ZIP z fałszywymi małymi rozmiarami wpisów, które ominie limit, a podczas ekstrakcji zapisze rzeczywiste, znacznie większe dane, prowadząc do zapełnienia dysku lub wyczerpania i-węzłów.
- CVE-2026-59193Średnie
Podatność w Grav przed wersją 2.0.0 pozwala uwierzytelnionemu użytkownikowi z rolą admin.super na spowodowanie awarii systemu lub zapełnienie dysku poprzez przesłanie specjalnie spreparowanego archiwum ZIP za pomocą narzędzia Direct Install. Problem wynika z braku ograniczeń w funkcji unZip dotyczących rozmiaru nieskompresowanych danych, liczby wpisów ani głębokości katalogów.
- CVE-2026-55890Średnie
Grav przed wersją 2.0.0-rc.9 zawiera podatność na trwałe XSS przez atrybut stylu obrazka Markdown. Niekompletna poprawka dla CVE-2026-42841 pozostawia metodę MediaObjectTrait::style dostępną przez ten sam potok akcji, co pozwala edytorowi zapisać parametry stylu obrazka bez sanityzacji.
- CVE-2026-55885Średnie
Podatność w Grav umożliwia uwierzytelnionemu administratorowi z uprawnieniami do tworzenia kopii zapasowych pobranie archiwum ZIP zawierającego pełną instalację Grav, w tym plik user/accounts/admin.yaml z hashem hasła administratora oraz katalog user/config z konfiguracją witryny. Problem występuje w wersjach przed 1.7.53 i został naprawiony w tej wersji.
- CVE-2026-53653Wysokie
Grav, platforma webowa oparta na plikach, zawiera podatność pozwalającą niezalogowanemu atakującemu na wyczerpanie pamięci serwera i mocy CPU poprzez żądanie przetworzenia obrazów o nadmiernych wymiarach. Problem występuje w mechanizmie `Grav::fallbackUrl`, który przekazuje parametry żądania do akcji magicznych ImageMedium bez ograniczenia rozmiaru lub liczby pikseli.
- CVE-2026-61455Średnie
Grav przed wersją 2.0.1 zawiera podatność na bombę dekompresyjną w metodzie ZipArchiver::extract(), która nie ogranicza rozmiaru po dekompresji, liczby plików ani głębokości zagnieżdżenia. Atakujący może dostarczyć spreparowane archiwum ZIP, które po rozpakowaniu wypełnia całe dostępne miejsce na dysku, powodując odmowę usługi poprzez wyczerpanie zasobów pamięci masowej.
- CVE-2026-58657Średnie
Grav przed wersją 2.0.0 (aż do 2.0.0-rc.9 i gałęzi 2.0) zawiera podatność na przechowywane wstrzykiwanie CSS w akcji mediów Markdown image resize(). Wcześniejsze zabezpieczenia odrzucają bezpośrednie ładunki ?style= i niebezpieczne funkcje fallback, ale akcja resize() w Excerpts::processMediaActions() zapisuje wartości kontrolowane przez wywołującego bezpośrednio do atrybutu styleAttributes obrazu. Redaktor treści z niższymi uprawnieniami, który może edytować Markdown strony, może przechowywać spreparowany URL obrazu z deklaracjami CSS oddzielonymi średnikami w parametrach resize, które są renderowane w końcowym atrybucie <img style=...> gdy recenzent/admin z wyższymi uprawnieniami przegląda stronę lub podgląd.
- CVE-2026-56701Średnie
Grav przed wersją 2.0.0-beta.2 zawiera podatność na wstrzykiwanie zewnętrznych jednostek XML (XXE) w procesie przesyłania plików SVG, co pozwala uwierzytelnionym atakującym na odczyt dowolnych plików. Aplikacja używa funkcji simplexml_load_string bez wyłączenia ładowania zewnętrznych jednostek, co umożliwia atakującym wstrzykiwanie ładunków XXE za pomocą złośliwych plików SVG.
- CVE-2026-44738Wysokie
Grav to platforma internetowa oparta na plikach. W wersjach przed 2.0.0-rc.2, lista dozwolonych działań w sandboxie Twig pozwalała każdemu użytkownikowi z rolą admin.pages na wywołanie config.toArray() w treści strony, co skutkowało wyświetleniem całej zintegrowanej konfiguracji witryny, w tym tajemnic pluginów.
- CVE-2026-42841Średnie
W Grav przed wersją 2.0.0-beta.2 uwierzytelniony użytkownik z uprawnieniami do edycji stron może wstrzyknąć wykonywalny atrybut obsługi zdarzeń JavaScript do renderowanego HTML obrazu poprzez składnię akcji mediów Markdown. Parametry zapytania obrazu Markdown są konwertowane na wywoływalne akcje mediów, umożliwiając osiągnięcie publicznej metody attribute() i ustawienie dowolnego atrybutu HTML na elemencie obrazu. Podatność naprawiono w wersji 2.0.0-beta.2.
- CVE-2026-42611Wysokie
Grav to platforma internetowa oparta na plikach. Przed wersją 2.0.0-beta.2, użytkownik o niskich uprawnieniach mógł wprowadzić element svg, co prowadziło do ataku XSS, który mógł być eskalowany do zrzutu informacji systemowych dostępnych w /admin/config/info, gdy Super Admin odwiedzał stronę.
- CVE-2026-42610Średnie
Grav w wersjach przed 2.0.0-beta.2 pozwala użytkownikowi o niskich uprawnieniach obejść ograniczenia sandboxa Twig poprzez usługę grav['accounts']. Atakujący może załadować obiekty użytkowników administracyjnych i wyodrębnić wrażliwe dane, w tym hasła Bcrypt i sól bezpieczeństwa.
- CVE-2025-66843Średnie
grav przed wersją 1.7.49.5 zawiera podatność typu Stored Cross-Site Scripting (Stored XSS) w funkcji edycji stron. Uwierzytelniony użytkownik o niskich uprawnieniach z możliwością edycji treści może wstrzyknąć złośliwe ładunki JavaScript do edytowalnych pól. Ładunek jest przechowywany na serwerze i wykonywany, gdy inny użytkownik wyświetla lub edytuje dotkniętą stronę.
- CVE-2025-66312Średnie
Wtyczka administracyjna dla Grav, będąca interfejsem HTML do konfiguracji i zarządzania stronami, przed wersją 1.11.0-beta.1 zawiera podatność na trwały cross-site scripting (XSS) w punkcie /admin/accounts/groups/Grupo. Atakujący mogą wstrzyknąć złośliwe skrypty do parametru data[readableName]. Wstrzyknięte skrypty są przechowywane na serwerze i wykonywane automatycznie przy każdym dostępie do strony, co stanowi poważne ryzyko bezpieczeństwa. Podatność została naprawiona w wersji 1.11.0-beta.1.
- CVE-2025-66304Średnie
W systemie Grav, przed wersją 1.8.0-beta.27, użytkownicy z uprawnieniami do odczytu sekcji zarządzania kontami w panelu administracyjnym mogą przeglądać hashe haseł wszystkich użytkowników, w tym administratora. Ujawnienie tych hashy może umożliwić atakującemu ich złamanie i podniesienie uprawnień.
- CVE-2025-66303Średnie
W systemie Grav przed wersją 1.8.0-beta.27 występuje podatność na odmowę usługi (DoS) związana z obsługą parametru scheduled_at. Aplikacja nie sanityzuje poprawnie wyrażeń cron, co pozwala na zablokowanie panelu administracyjnego poprzez manipulację tym parametrem, np. wprowadzając pojedynczy cudzysłów.
- CVE-2025-66300Wysokie
W platformie Grav przed wersją 1.8.0-beta.27 użytkownik o niskich uprawnieniach z prawem edycji stron może odczytać dowolne pliki serwera za pomocą formularza "Frontmatter". Obejmuje to pliki kont użytkowników Grav (/grav/user/accounts/*.yaml), które przechowują hasła użytkowników, sekrety 2FA i tokeny resetowania hasła.
- CVE-2025-66298Wysokie
Grav to platforma webowa oparta na plikach. W wersjach przed 1.8.0-beta.27 prosty formularz na stronie może ujawnić całą konfigurację Grav (w tym konfigurację wtyczek) poprzez odpowiedni ładunek POST wykorzystujący podatność Server-Side Template (SST). Ujawnione dane mogą zawierać informacje wrażliwe.
- CVE-2025-66296Wysokie
Grav to platforma webowa oparta na plikach. W wersjach przed 1.8.0-beta.27 w wtyczce Admin występuje podatność eskalacji uprawnień wynikająca z braku walidacji unikalności nazwy użytkownika przy tworzeniu kont. Użytkownik z uprawnieniem tworzenia użytkowników może utworzyć konto o tej samej nazwie co istniejące konto administratora, ustawić nowe hasło i zalogować się jako administrator.
- CVE-2025-66295Wysokie
W platformie Grav przed wersją 1.8.0-beta.27 użytkownik z uprawnieniem do tworzenia kont może utworzyć nowe konto z nazwą zawierającą sekwencje przejścia ścieżki (np. ..\Nijat lub ../Nijat), co powoduje zapis pliku YAML konta poza katalogiem user/accounts/. Zapisany plik może zawierać pola konta, takie jak email, fullname, twofa_secret i hashed_password.
- CVE-2025-66294Wysokie
Grav to platforma webowa oparta na plikach. Przed wersją 1.8.0-beta.27 występuje podatność Server-Side Template Injection (SSTI), która pozwala uwierzytelnionym atakującym z uprawnieniami edytora na wykonanie dowolnych poleceń na serwerze, a w pewnych warunkach może być wykorzystana również przez nieuwierzytelnionych atakujących. Podatność wynika ze słabej walidacji regex w metodzie cleanDangerousTwig.
- CVE-2023-37897Wysokie
Grav, platforma webowa oparta na plikach w PHP, jest podatna na atak typu server side template injection (SSTI). Wersja 1.7.42 i nowsze mają błąd w funkcji `isDangerousFunction()`, co pozwala na wykonanie złośliwego kodu poprzez dodanie podwójnego ukośnika (`\`).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

