Grav w wersjach przed 1.7.42 jest podatny na Server Side Template Injection (SSTI), który pozwala na zdalne wykonanie kodu (RCE). Zagrożenie jest krytyczne, ponieważ atakujący z uprawnieniami do edycji stron może przejąć pełną kontrolę nad serwerem.
▸ Pokaż oryginał (EN)
Grav is a flat-file content management system. Versions prior to 1.7.42 are vulnerable to server side template injection. Remote code execution is possible by embedding malicious PHP code on the administrator screen by a user with page editing privileges. Version 1.7.42 contains a fix for this issue.
Użytkownik posiadający uprawnienia do edycji stron w panelu administratora może osadzić złośliwy kod PHP bezpośrednio w treści strony. Grav przetwarza szablony po stronie serwera bez wystarczającej walidacji i sanityzacji danych wejściowych (CWE-94 — improper control of code generation). W efekcie osadzony kod PHP jest interpretowany i wykonywany przez silnik szablonów w kontekście serwera.
Atakujący może wykonać dowolny kod na serwerze, co prowadzi do pełnego naruszenia poufności, integralności i dostępności systemu, w tym przejęcia kontroli nad serwerem i dostępu do danych.
Należy zaktualizować Grav do wersji 1.7.42 lub nowszej, która zawiera poprawkę dla tego błędu. Patch dostępny jest w repozytorium producenta (commit 9d01140a63c77075ef09b26ef57cf186138151a5).
Grav (Getgrav) we wszystkich wersjach przed 1.7.42.
Podatność wymaga posiadania konta z uprawnieniami do edycji stron w panelu administratora — nie jest to exploit nieuwierzytelniony. Mimo to wektor CVSS wskazuje na zmieniony zakres (S:C), co podnosi ocenę do poziomu krytycznego (9.9).
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HGetgrav Grav
APPGetgrav< 1.7.42
Powiązane podatności
GravCMS – nieuwierzytelniony zapis YAML i zdalne wykonanie kodu PHP
SSRF w Getgrav Grav przez szablony Twig — dostęp do zasobów wewnętrznych
XSS umożliwiający wykonanie kodu w Getgrav Grav (≤ 1.7.48)
Grav is a file-based Web platform. In Grav 2.0.0-beta.2, a low-privileged authenticated API user with api.medi...
Grav is a file-based Web platform. Prior to 2.0.0-beta.2, there is a Path Traversal vulnerability within the F...