CVE-2026-86193
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
grav-plugin-api przed wersją 1.0.20 nie waliduje uprawnień super odziedziczonych po grupach w zabezpieczeniach zarządzania użytkownikami, co pozwala menedżerom niebędącym super użytkownikami modyfikować konta super-adminów. Atakujący z uprawnieniami api.access i api.users.write mogą zmienić pola hasła na kontach z super uprawnieniami grupowymi, aby uzyskać pełną kontrolę administracyjną.
Ocena ryzyka
Ryzyko obejmuje nieautoryzowaną modyfikację kont super-adminów, co prowadzi do pełnej kompromitacji systemu Grav.
Rekomendacja
Zaleca się natychmiastową aktualizację grav-plugin-api do wersji 1.0.20 lub nowszej oraz wdrożenie odpowiednich kontroli uprawnień.
Inne podatności w grav-plugin-api
Zobacz wszystkie- CVE-2026-86195Wysokie
grav-plugin-api przed wersją 1.0.20 zawiera podatność eskalacji uprawnień w InvitationsController, gdzie metoda stripSuperFlags() usuwa tylko zagnieżdżone super flagi, ale nie usuwa odpowiedników z kropką, takich jak api.super. Menedżer niebędący super użytkownikiem z uprawnieniami api.access i api.users.write może utworzyć zaproszenie z super flagą z kropką w ładunku dostępu, która omija zabezpieczenia i utrwala się na nowym koncie. Atakujący mogą zaakceptować zaproszenie przez publiczny punkt końcowy bez rzeczywistej interakcji zaproszonego, aby utworzyć konto super-admina i natychmiast otrzymać ważny JWT do pełnej kontroli nad stroną.
- CVE-2026-75830Wysokie
grav-plugin-api (getgrav/grav-plugin-api) w wersjach >= 1.0.0-beta.10 i <= 1.0.14 zawiera podatność na przechodzenie po ścieżkach w metodzie PagesController::batchCopy(). Niekompletna poprawka dla GHSA-qjq4-jp55-4mx2 pozostawiła niesprawdzony parametr 'suffix' kontrolowany przez użytkownika (przez POST /api/v1/pages/batch). Uwierzytelniony użytkownik z uprawnieniem api.pages.write (poziom edytora, nie super-admin) może podać sekwencje przechodzenia po ścieżkach (np. /../../../) w parametrze suffix, aby uciec z zamierzonego katalogu user/pages/ i zapisać treść strony oraz media strony kontrolowane przez atakującego w dowolnych lokalizacjach systemu plików zapisywalnych przez proces serwera WWW. Podatność naprawiono w wersji 1.0.15.
- CVE-2026-75829Wysokie
Wtyczka grav-plugin-api przed wersją 1.0.15 nie waliduje zawartości Twig w punkcie końcowym translate(), co pozwala atakującym z uprawnieniami api.pages.write na utrwalanie stron z włączonym process.twig. Atakujący mogą przesłać spreparowane parametry header i content, aby wykonać ładunki wstrzyknięcia szablonów po stronie serwera, które są oceniane podczas renderowania.
- CVE-2026-74908Średnie
Grav plugin-api przed wersją 1.0.15 zawiera podatność na wstrzykiwanie skryptów, gdzie sanitizer SVG sprawdza tylko dokładne rozszerzenie 'svg', pozwalając plikom .svgz i .xhtml ominąć sanityzację i być przechowywanym bez oczyszczenia. Atakujący z uprawnieniami api.media.write mogą przesyłać pliki zawierające wykonywalne ładunki skryptów, które wykonują się w originie witryny, gdy są dostępne przez administratorów lub odwiedzających.
- CVE-2026-72828Wysokie
Grav Plugin API (getgrav/grav-plugin-api) przed wersją 1.0.13 nie egzekwuje limitów zakresu kluczy API w InvitationsController. Decyzje strip-super i accept-groups są oparte na zwykłym sprawdzeniu isSuperAdmin() zamiast sprawdzenia uprawnień uwzględniającego zakres, więc klucz API o najmniejszych uprawnieniach (zakres api.users.write) wygenerowany na koncie super może utworzyć rekord zaproszenia zawierający flagi dostępu super-admina. Po zaakceptowaniu zaproszenia te flagi są zapisywane dosłownie na nowym koncie, co prowadzi do eskalacji uprawnień do w pełni kontrolowanego konta super.
Oryginalny opis (angielski, źródło NVD)
grav-plugin-api before 1.0.20 fails to validate group-inherited super permissions in user-management guards, allowing non-super user managers to modify super-admin accounts. Attackers with api.access and api.users.write can patch password fields on group-super accounts to gain full administrative control.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

