Katalog CVE

CVE-2026-72824

KrytyczneCVSS 9.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

Wtyczka Grav API (getgrav/grav-plugin-api) przed wersją 1.0.13 zawiera obejście ograniczeń zakresu kluczy API w PagesController::guardTwigContent(). Sprawdzanie przełącznika Twig używa bezpośredniego wywołania isSuperAdmin(), które nie uwzględnia api_key_scopes, więc klucz API o najmniejszych uprawnieniach, ograniczony tylko do api.pages.write i wybity na koncie super, może włączyć process.twig podczas zapisu strony, mimo że admin.pages_twig jest celowo poza zakresem api.pages. Gdy security.twig_content.process_enabled=true i editor_enabled=false, umożliwia to wykonanie Twig-in-content po stronie serwera, co prowadzi do wstrzyknięcia szablonów po stronie serwera (SSTI) i zdalnego wykonania kodu.

Ocena ryzyka

Atakujący z ograniczonym kluczem API może wykonać dowolny kod na serwerze, co może prowadzić do pełnego przejęcia systemu.

Rekomendacja

Zaktualizuj wtyczkę Grav API do wersji 1.0.13 lub nowszej. Wyłącz przetwarzanie Twig, jeśli nie jest wymagane.

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

The Grav API plugin (getgrav/grav-plugin-api) before 1.0.13 contains an API key scope-cap bypass in PagesController::guardTwigContent(). The Twig-toggle check uses a bare isSuperAdmin() gate that does not consult api_key_scopes, so a least-privilege API key scoped only to api.pages.write and minted on a super account can enable process.twig on a page save even though admin.pages_twig is intentionally outside the api.pages scope. When security.twig_content.process_enabled=true and editor_enabled=false, this allows Twig-in-content to execute server-side, resulting in server-side template injection (SSTI) and remote code execution.

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