CVE-2026-72833
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
Wtyczka Grav API (getgrav/grav-plugin-api) w wersjach od 1.0.6 do 1.0.11 zawiera podatność na eskalację uprawnień. Klucz API z ograniczonym zakresem wygenerowany na koncie super-admina omija zadeklarowany limit zakresu na czterech punktach końcowych zapisu chronionych funkcją isSuperAdmin() (w GroupsController, AccountsConfigController, PreferencesController i DashboardWidgetController). Te punkty końcowe autoryzują przez wczesny zwrot dla super-admina, który nigdy nie wywołuje requirePermission() – jedynego punktu egzekwowania limitu zakresu – więc klucz z zakresem 'read-only' (np. api.pages.read) może wykonywać operacje zapisu tylko dla super-admina, w tym przepisywanie map ACL grup w celu nadania uprawnień super-admina dowolnym kontom. Wyciekły lub delegowany klucz CI/monitorujący z zakresem read-only może zatem uzyskać pełną zdolność zapisu super-admina. Poprawiono w wersji 1.0.13.
Ocena ryzyka
Eskalacja uprawnień może prowadzić do pełnego przejęcia kontroli nad systemem Grav, w tym modyfikacji uprawnień użytkowników i naruszenia integralności danych.
Rekomendacja
Zaktualizuj wtyczkę Grav API do wersji 1.0.13 lub nowszej, która zawiera poprawkę, oraz przejrzyj klucze API pod kątem niepotrzebnych uprawnień.
Oryginalny opis (angielski, źródło NVD)
The Grav API plugin (getgrav/grav-plugin-api) versions >= 1.0.6 and <= 1.0.11 contain a privilege escalation vulnerability. A scoped API key minted on a super-admin account bypasses its declared scope cap on four isSuperAdmin()-gated write endpoints (in GroupsController, AccountsConfigController, PreferencesController, and DashboardWidgetController). These endpoints authorize via a super-admin early-return that never invokes requirePermission()—the sole enforcement point of the scope cap—so a 'read-only'-scoped key (e.g. api.pages.read) can perform super-only write operations, including rewriting group ACL maps to grant super-admin privileges to arbitrary accounts. A leaked or delegated read-only CI/monitoring key can therefore gain full super-admin write capability. Fixed in 1.0.13.

