CVE-2026-64850
WysokieCVSS 8.7Streszczenie
Grav przed wersją 2.0.7 zawiera podatność w Blueprint::dynamicData() w system/src/Grav/Common/Data/Blueprint.php, która przekazuje kontrolowany przez edytora dostawcę Class::method i argumenty do call_user_func_array() bez odrzucania niebezpiecznych parametrów wywołania zwrotnego. Konto z uprawnieniem admin.pages lub api.pages.write może użyć Grav\Common\Utils::arrayFilterRecursive() jako trampoliny z system jako wywołaniem zwrotnym, umieścić polecenie we frontmatter strony i wykonać je jako użytkownik serwera WWW podczas przeglądania strony. Problem został naprawiony w wersji 2.0.7.
Ocena ryzyka
Atakujący może wykonać dowolne polecenia na serwerze WWW, co prowadzi do pełnej kompromitacji systemu.
Rekomendacja
Zaleca się aktualizację Grav do wersji 2.0.7 lub nowszej.
Oryginalny opis (angielski, źródło NVD)
Grav is a file-based Web platform. Prior to 2.0.7, Grav Blueprint::dynamicData() in system/src/Grav/Common/Data/Blueprint.php sends an editor-controlled Class::method provider and arguments to call_user_func_array() without rejecting dangerous callback parameters. An account with admin.pages or api.pages.write can use Grav\Common\Utils::arrayFilterRecursive() as a trampoline with system as the callback, place a command in page frontmatter, and execute that command as the web server user when the page is viewed. This issue is fixed in version 2.0.7.

