Katalog CVE

CVE-2026-61453

ŚrednieCVSS 6.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

Percentyl 5 - wyżej niż 5% wszystkich znanych CVE

Streszczenie

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.

Ocena ryzyka

Ryzyko dla organizacji polega na możliwości wykonania dowolnego kodu JavaScript w przeglądarkach użytkowników, co może prowadzić do kradzieży sesji, wycieku danych lub dalszych ataków na użytkowników strony.

Rekomendacja

Zaleca się natychmiastową aktualizację Grav do wersji 2.0.1 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy wyłączyć opcję twig_content.process_enabled w konfiguracji, aby zapobiec wykorzystaniu podatności.

Inne podatności w Grav

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Grav v2.0.0 contains a cross-site scripting vulnerability (fixed in 2.0.1). The XSS blueprint validator (Security::detectXss()) runs on raw page content before Twig processing. When Twig content processing is enabled (twig_content.process_enabled: true), an attacker with page-write API permission can use Twig's string concatenation operator (~) to dynamically construct event handler names, dangerous tag names, or dangerous protocols at render time (e.g. {% set x = "on" ~ "error" %}). The validator sees only the harmless Twig expression and allows the content, but after Twig rendering the output (rendered via {{ page.content|raw }}) contains an active payload such as <img src=1 onerror=alert(1)>, executing arbitrary JavaScript in visitors' browsers.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS