CVE-2026-74908
ŚrednieCVSS 4.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 8 - wyżej niż 8% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości wykonania złośliwych skryptów w kontekście witryny, co może prowadzić do kradzieży danych, przejęcia sesji lub innych ataków. Podatność może być wykorzystana przez użytkowników z uprawnieniami do przesyłania plików.
Rekomendacja
Zaleca się aktualizację Grav plugin-api do wersji 1.0.15 lub nowszej, która zawiera poprawkę. Należy również rozszerzyć sanitizer SVG, aby obsługiwał inne rozszerzenia, takie jak .svgz i .xhtml.
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-86193Wysokie
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ą.
- 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-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.15 contains a script injection vulnerability where the SVG sanitizer only checks for the exact extension 'svg', allowing .svgz and .xhtml files to bypass sanitization and be stored unsanitized. Attackers with api.media.write permission can upload files containing executable script payloads that execute in the site origin when accessed by administrators or visitors.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

