CVE-2026-75835
ŚrednieCVSS 4.3Streszczenie
Wtyczka Grav API (getgrav/grav-plugin-api) przed wersją 1.0.14 zawiera podatność braku autoryzacji w funkcji userPassesAuthorize() (AbstractApiController.php). Funkcja nie sprawdza zakresów klucza API żądania, opierając się zamiast tego na surowym flagu super-admina i uprawnieniach ACL. W rezultacie uwierzytelniony atakujący posiadający klucz API z ograniczonym zakresem, wybity na koncie z uprawnieniami administratora, może ominąć deklarowane ograniczenia zakresu i uzyskać dostęp do metadanych UI i definicji elementów (sidebar/menubar/widget items oraz users-list columns/row-actions/filter-tabs), które powinny być dla niego zabronione, co prowadzi do ujawnienia informacji.
Ocena ryzyka
Ryzyko polega na nieautoryzowanym dostępie do wrażliwych metadanych interfejsu użytkownika, co może ujawnić informacje o konfiguracji i uprawnieniach. Atakujący z ograniczonym kluczem API może uzyskać dane, które powinny być niedostępne, co może ułatwić dalsze ataki.
Rekomendacja
Zaleca się aktualizację wtyczki Grav API do wersji 1.0.14 lub nowszej, która zawiera poprawkę. Należy również przejrzeć konfigurację kluczy API i upewnić się, że zakresy są prawidłowo egzekwowane.
Oryginalny opis (angielski, źródło NVD)
Grav API plugin (getgrav/grav-plugin-api) before 1.0.14 contains a missing authorization vulnerability in userPassesAuthorize() (AbstractApiController.php). The function fails to consult the calling request's API key scopes, relying instead on the account's raw super-admin flag and ACL grants. As a result, an authenticated attacker holding a scoped API key minted on a privileged account can bypass their declared scope restrictions to access authorize-gated UI metadata and item definitions (sidebar/menubar/widget items and users-list columns/row-actions/filter-tabs) that their key scope should deny, resulting in information disclosure.

