CVE-2026-58655
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 61 - wyżej niż 61% wszystkich znanych CVE
Streszczenie
Wtyczka Grav Flex Objects przed wersją 1.4.0 zawiera podatność na wstrzykiwanie kodu szablonu po stronie serwera. Podczas renderowania dynamicznych tytułów kolekcji lub obiektów, wartości frontmatter kontrolowane przez użytkownika są przekazywane do funkcji Twig template_from_string(), co powoduje ich wykonanie jako kod Twig zamiast zwykłego tekstu. Obejście to pomija mechanizm bezpieczeństwa Grav Security::cleanDangerousTwig().
Ocena ryzyka
Atakujący, który może kontrolować tytuł frontmatter publicznie dostępnej strony Flex Objects, może uzyskać dowolne wykonanie kodu Twig i eskalować do zdalnego wykonania poleceń poprzez dostęp do wewnętrznych usług Grav, takich jak harmonogram zadań. Może to prowadzić do pełnego przejęcia serwera.
Rekomendacja
Należy natychmiast zaktualizować wtyczkę Grav Flex Objects do wersji 1.4.0 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do stron Flex Objects tylko dla zaufanych użytkowników i zweryfikować, czy żadne niebezpieczne wartości nie zostały już wprowadzone.
Inne podatności w Grav Flex Objects plugin
Zobacz wszystkie- CVE-2026-114659Średnie
Wtyczka Grav Flex Objects 1.4.0 przed 1.4.17 zawiera obejście autoryzacji, ponieważ ogólne trasy API /api/v1/flex-objects/pages sprawdzają tylko uprawnienia admin.pages na poziomie katalogu, nie egzekwując uprawnień api.pages.read/write ani reguł na poziomie strony. Uwierzytelnieni użytkownicy niebędący superadministratorami mogą czytać źródła stron, modyfikować treść lub usuwać strony, do których nie mają uprawnień.
- CVE-2026-62670Średnie
Wtyczka Grav Flex Objects przed wersją 1.4.3 ma metodę requireFlexPermission() w FlexApiController.php, która nie odmawia dostępu, gdy blueprint katalogu nie zawiera config.admin.permissions. Uwierzytelnione konto z tylko api.access może używać handlerów index, show, create, update, delete, export i media dla katalogu bez uprawnień, mimo że standardowa autoryzacja admin.flex-object by to zablokowała.
Oryginalny opis (angielski, źródło NVD)
The bundled Grav Flex Objects plugin (getgrav/grav-plugin-flex-objects) before 1.4.0 contains a stored server-side template injection vulnerability. When rendering dynamic collection or object titles, the plugin passes user-controlled frontmatter values (page.header.flex.collection.title or page.header.flex.object.title) to Twig's template_from_string(), causing them to be evaluated as Twig code rather than treated as text. This path bypasses Grav's Security::cleanDangerousTwig() sanitization. An attacker who can control the title frontmatter of a publicly reachable Flex Objects page can achieve arbitrary Twig execution and escalate to remote command execution via access to internal Grav services such as the scheduler.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

