Katalog CVE

CVE-2026-72825

WysokieCVSS 7.6
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.20%

Percentyl 10 - wyżej niż 10% wszystkich znanych CVE

Streszczenie

Wtyczka getgrav/grav-plugin-api przed wersją 1.0.13 zawiera obejście limitu zakresu klucza API w punkcie końcowym POST /reports/twig-content/allowlist (ReportsController). Punkt końcowy egzekwuje requirePermission('api.config.write'), a następnie zwykłe sprawdzenie isSuperAdmin() zamiast requireSuper(). Ponieważ isSuperAdmin() czyta access.api.super bezpośrednio i nigdy nie konsultuje api_key_scopes, klucz API o najmniejszych uprawnieniach z zakresem api.config.write wygenerowany na koncie super przechodzi przez bramkę, umożliwiając atakującemu dodanie wybranych tokenów do listy dozwolonych security.twig_sandbox (zapisanej do user/config/security.yaml). Poszerzenie listy dozwolonych zamienia każde późniejsze renderowanie Twig w treści w sink SSTI/RCE.

Ocena ryzyka

Obejście limitu zakresu może prowadzić do zdalnego wykonania kodu (RCE) poprzez wstrzyknięcie szablonów, co umożliwia pełne przejęcie systemu Grav i naruszenie bezpieczeństwa danych.

Rekomendacja

Zaktualizuj wtyczkę getgrav/grav-plugin-api do wersji 1.0.13 lub nowszej, która zawiera poprawkę, oraz przejrzyj listę dozwolonych sandboxa Twig.

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

The getgrav/grav-plugin-api plugin before 1.0.13 contains an API-key scope cap bypass in the POST /reports/twig-content/allowlist endpoint (ReportsController). The endpoint enforces requirePermission('api.config.write') followed by a bare isSuperAdmin() check instead of requireSuper(). Because isSuperAdmin() reads access.api.super directly and never consults api_key_scopes, a least-privilege API key scoped to api.config.write minted on a super account passes the gate, allowing an attacker to append attacker-chosen tokens to the security.twig_sandbox allowlist (persisted to user/config/security.yaml). Widening the allowlist turns any subsequent Twig-in-content render into an SSTI/RCE sink.

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