Katalog CVE

CVE-2026-72826

KrytyczneCVSS 9.8
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Wtyczka getgrav/grav-plugin-api przed wersją 1.0.13 nie weryfikuje, czy zakresy nowo utworzonego klucza API są podzbiorem zakresów wywołującego w createApiKey. Ścieżka self-target w requireApiKeyPermission() wymaga tylko podstawowego zakresu api.access, a zakresy nowego klucza są odczytywane bezpośrednio z treści żądania bez sprawdzania podzbioru. Atakujący posiadający klucz API o minimalnym zakresie na koncie super może przesłać pustą tablicę zakresów, aby wybić nieograniczony klucz super z pełnym dostępem, omijając ograniczenia zakresów (i umożliwiając dalsze łańcuchy, takie jak zapis konfiguracji do RCE).

Ocena ryzyka

Atakujący z minimalnym kluczem API może uzyskać pełny dostęp administracyjny, co może prowadzić do całkowitego przejęcia systemu.

Rekomendacja

Zaktualizuj wtyczkę Grav API do wersji 1.0.13 lub nowszej. Wdróż walidację zakresów kluczy API.

Oryginalny opis (angielski, źródło NVD)

The getgrav/grav-plugin-api plugin before 1.0.13 fails to validate that the scopes of a newly created API key are a subset of the caller's scopes in createApiKey. The self-target path of requireApiKeyPermission() requires only the baseline api.access scope, and the new key's scopes are read directly from the request body with no subset check. An attacker holding a minimal-scope API key on a super account can submit an empty scopes array to mint an unscoped, full-access super key, bypassing scope restrictions (and enabling further chains such as configuration write to RCE).

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS